java - 在 MimeMessage 中设置多种内容编码

标签 java email jakarta-mail

使用javax.mail.*时,我尝试发送一条消息,其内容同时以text/plaintext/html<编码。如何将两种编码添加到 MimeMessage 中?

setText 是否会覆盖之前的文本设置?即:如果我执行 setText("", "text/plain") 然后 setText("", "text/html"),第二次调用是否会覆盖该消息之前设置的文本还是它们都会出现在消息中?

最佳答案

问:如何发送纯文本和 HTML 文本的邮件,以便每个邮件读者都可以选择适合的格式?

答:您需要发送 MIME 多部分/替代消息。构造这样的消息基本上与构造多部分/混合消息相同,使用使用 new MimeMultipart("alternative") 构造的 MimeMultipart 对象。然后,将 text/plain 正文部分作为第一个部分插入到 multipart 中,并将 text/html 正文部分作为第二部分插入到 multipart 中。您需要自己构建 plain 和 html 部分以获得适当的内容。有关此类消息的结构的详细信息,请参阅 RFC2046。

http://www.oracle.com/technetwork/java/faq-135477.html#sendmpa

关于java - 在 MimeMessage 中设置多种内容编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8716179/

相关文章:

ruby-on-rails - Rails 4 中缺少模板 user_mailer/registration_confirmation 且值为 "mailer"

java - 在android中没有用户交互的情况下发送电子邮件获取身份验证错误

java - 通过代理使用 Javamail

JavaMail - 解析电子邮件内容,似乎无法正常工作! (消息.getContent())

java - 在对象中存储数据成员

java - 一次登录应用程序 - FirebaseAuth

java - 发出 GET 请求以生成数独

php - 拉拉维尔 : email send multiples times to one user

java - IllegalAnnotationExceptions 元素没有带有 @XmlElementDecl 的 ObjectFactory

android - 无法将内部存储中的文件添加为电子邮件附件