2

我正在通过 java web 应用程序发送电子邮件,电子邮件仅包含 html 内容。发送给收件人的电子邮件会登陆特定域的垃圾邮件文件夹(例如:mydomain.com)。

因此,当我搜索解决方案时,它说,电子邮件还必须包含纯版本,那么如何在 java 中的 html 邮件中也包含纯版本,我的电子邮件还包含附件。

4

2 回答 2

2

我找到了解决方案,它工作正常。

String body ="<html><head></head><body><span>this is a test mail</span></body></html>           

Multipart multiPart = new MimeMultipart("alternative");   // Create an "Alternative" Multipart message

            MimeBodyPart text = new MimeBodyPart();
            MimeBodyPart html = new MimeBodyPart();

            text.setText(body.replaceAll("\\<[^>]*>","").replaceAll("&nbsp;","").replaceAll("&amp;","&"));  //set the text/plain version
            html.setContent(Jsoup.parse(body).html(), "text/html");     //set the text/html version

            multiPart.addBodyPart(text);
            multiPart.addBodyPart(html); 
            message.setContent(multiPart); 
于 2013-02-26T05:30:34.297 回答
1

这个JavaMail FAQ 条目将帮助您处理除附件部分之外的所有内容。在继续之前先尝试这个简单的版本并让它工作。

这个JavaMail FAQ 条目讨论了附件。

您需要将两者结合起来。您需要创建一个包含多部分/混合内容的消息来保存主体和附件。第一个正文部分应该是多部分/替代内容,而不仅仅是纯文本部分。

如果这还不足以让您开始,请告诉我。

于 2013-02-25T23:53:11.600 回答