java 发送mime,最佳做法-发送javamail mime多部分电子邮件-和gmail

我有一个Tomcat应用程序,需要发送确认电子邮件等。我已经用Javamail(mail.jar)编码了电子邮件程序,以发送多部分文本/

html电子邮件。我基于Java EE示例创建代码。我在本地服务器上使用SMTP MTA。

效果很好。在Outlook中,我看到了HTML版本。如果将其拖到Outlook垃圾邮件文件夹中,则会看到文本版本。所以我将其解释为有效。

但是,如果我查看Gmail中的电子邮件,则只能看到文本版本。我知道HTML在那里(这就是Outlook的来源)。但是Gmail没有显示它…我有很多来自其他系统的电子邮件,它们在Gmail中显示为HTML。

谁能指出我指出我所缺少的规格吗?我需要创建特殊的标题吗?

谢谢

代码如下:

Message message = new MimeMessage(session);

Multipart multiPart = new MimeMultipart("alternative");

try {

MimeBodyPart textPart = new MimeBodyPart();

textPart.setText(text, "utf-8");

MimeBodyPart htmlPart = new MimeBodyPart();

htmlPart.setContent(html, "text/html; charset=utf-8");

multiPart.addBodyPart(htmlPart);

multiPart.addBodyPart(textPart);

message.setContent(multiPart);

if(from != null){

message.setFrom(new InternetAddress(from));

}else

message.setFrom();

if(replyto != null)

message.setReplyTo(new InternetAddress[]{new InternetAddress(replyto)});

else

message.setReplyTo(new InternetAddress[]{new InternetAddress(from)});

InternetAddress[] toAddresses = { new InternetAddress(to) };

message.setRecipients(Message.RecipientType.TO, toAddresses);

message.setSubject(subject);

message.setSentDate(new Date());

Transport.send(message);

} catch (AddressException e) {

e.printStackTrace();

System.out.println("Error: "+e.getMessage());

} catch (MessagingException e) {

e.printStackTrace();

System.out.println("Error: "+e.getMessage());

} finally {

System.out.println("Email sent!");

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值