
FileDataSource fds=new FileDataSource(MimeUtility.encodeText(filename))这样的话应该能解决附件乱码问题。这只是自己肤浅的认识,可能有些地方还有漏洞,往高手看后指点!!
=====================================================================
下面是敝人一段伏铅中文处理的代码,可以做参考
public class Demo3
{
/**
* 复杂邮件含附件+中文附件名_回信地址_友好名称
* @param args
*/
public static void main(String[] args) throws Exception
{
//配置环境
Properties pros = new Properties()
pros.setProperty("mail.smtp.auth"缺陵好, "true")
pros.setProperty("mail.transport.protocol", "smtp")
Session session = Session.getInstance(pros)
session.setDebug(true)
//创建卫星
Message msg = new MimeMessage(session)
//设置msg的一些信息--发件人、主题、内容..
msg.setFrom(new InternetAddress("\""+MimeUtility.encodeText("超越")+"\" <hjflbc1990@sina.com>"))
msg.setRecipients(RecipientType.TO,
InternetAddress.parse(MimeUtility.encodeText("毕老师")+" <bg@sina.com>,"+MimeUtility.encodeText("王老师")+" <wxz@sina.com>")
)
msg.setReplyTo(InternetAddress.parse("ss@sohu.com"))
MimeMultipart bodyMultipart = new MimeMultipart("mixed")
msg.setContent(bodyMultipart)
MimeBodyPart appurt1 = new MimeBodyPart()
MimeBodyPart appurt2 = new MimeBodyPart()
MimeBodyPart contentPart = new MimeBodyPart()
bodyMultipart.addBodyPart(appurt1)
bodyMultipart.addBodyPart(appurt2)
bodyMultipart.addBodyPart(contentPart)
appurt1.setDataHandler(new DataHandler(new FileDataSource("")))
appurt1.setFileName("")//重要
appurt2.setDataHandler(new DataHandler(new FileDataSource("")))
appurt2.setFileName("")
MimeMultipart contentMultipart = new MimeMultipart("related")
contentPart.setContent(contentMultipart)
MimeBodyPart picPart = new MimeBodyPart()
MimeBodyPart htmlPart = new MimeBodyPart()
contentMultipart.addBodyPart(picPart)
contentMultipart.addBodyPart(htmlPart)
picPart.setDataHandler(new DataHandler(new FileDataSource("")))
picPart.setHeader("Content-Location", "www.sohu.com/log.jpg")
htmlPart.setText("图片<img src=www.sohu.com/log.jpg/>", "text/htmlcharset=gbk")
msg.saveChanges()
//创建火箭
Transport transport = session.getTransport()
transport.connect("smtp.sina.com", 25, "hjflbc1990@sina.com", "*****")
//火箭发送卫星
transport.sendMessage(msg, InternetAddress.parse("aa,aaa"))
transport.close()
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)