使用发送邮件时如何设置SMTP邮件ID javax.mail
。我的邮件服务器报告如下内容:
1 <= [email protected] H=mail (host) [192.168.1.4] P=esmtp S=142014
[email protected]
2 => sombodey@else R=dnslookup T=remote_smtp H=mx00.t-online.de [194.25.134.8]
3 Completed
我想[email protected]
在发送前进行设置。这可能吗?它创建的电子邮件是这样的:
Properties props = System.getProperties();
props.put("mail.smtp.host", "192.168.1.4");
Session session = Session.getDefaultInstance(props, null);
session.setDebug(false);
Message msg = createMsg();
Transport.send(msg);
我相信JavaMail FAQ的这一部分可以回答您的问题:
问:我为新消息的Message-ID标头设置了特定的值,但是当我发送此消息时,标头被重写了。
答:当调用saveChanges方法时(通常是在发送消息时隐式设置),将为Message-ID字段设置一个新值,该值将覆盖您自己设置的任何值。如果需要设置自己的Message-ID并保留它,则必须创建自己的MimeMessage子类,重写updateMessageID方法并使用此子类的实例。
class MyMessage extends MimeMessage { ... protected void updateMessageID() throws MessagingException { setHeader("Message-ID", "my-message-id"); } ... }
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句