【问题标题】:Javax.mail changes mime headersJavax.mail 更改 mime 标头
【发布时间】:2013-10-06 05:09:48
【问题描述】:

我需要为 MimeMessage 指定特定的标头。

MimeMessage mMessage = new MimeMessage(session);
...
mMessage.setRecipients(Message.RecipientType.TO, tosAddr);
mMessage.setHeader("MIME-Version", "1.0");
mMessage.setHeader("Content-Type", "application/x-pkcs7-mime; smime-type=signed-data; name=\"smime.p7m\"");
mMessage.setHeader("Content-Transfer-Encoding", "base64");
mMessage.setHeader("Content-Disposition", "attachment; filename=\"smime.p7m\"");

mMessage.setText(new String(base64Data));
mMessage.saveChanges();

但是这个 mimemessage 是用这个头创建的:

Content-Type: text/plain; charset=us-ascii; name=smime.p7m
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="smime.p7m"

你知道为什么它会改变它的标题吗?

【问题讨论】:

    标签: email-headers jakarta-mail mime-message


    【解决方案1】:

    交换setTextsetHeader的顺序:

    mMessage.setText(new String(base64Data));
    mMessage.setHeader("MIME-Version", "1.0");
    mMessage.setHeader("Content-Type", "application/x-pkcs7-mime; smime-type=signed-data; name=\"smime.p7m\"");
    mMessage.setHeader("Content-Transfer-Encoding", "base64");
    mMessage.setHeader("Content-Disposition", "attachment; filename=\"smime.p7m\"");
    

    【讨论】:

      猜你喜欢
      • 2012-09-12
      • 2014-03-15
      • 2010-11-08
      • 2020-03-12
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      相关资源
      最近更新 更多