https://github.com/bbottema/simple-java-mail
我使用简单的这个库来发送电子邮件。 有人能告诉我如何在发送电子邮件之前覆盖消息ID吗? 这是我的代码:
Mailer mailer = new Mailer(new ServerConfig(this.smtpHost, this.smtpPort,
this.from, this.password),TransportStrategy.SMTP_TLS, new
ProxyConfig(sockHost, sockPort));
mailer.trustAllSSLHosts(true);
mailer.sendMail(new EmailBuilder().from(this.user, this.from).to(to,
to).subject(this.subject).textHTML(this.body).build());
我在google搜索后拼命尝试
Session session = mailer.getSession();
MimeMessage m = new testmm(session, "12345@test.test");
m.saveChanges();
这里是testmm类代码(从这里的另一个主题复制)
public class testmm extends MimeMessage {
private String messageID;
public testmm(Session session, String messageID) {
super(session);
this.messageID = messageID;
}
@Override
protected void updateMessageID() throws MessagingException {
setHeader("Message-ID", messageID);
}
}
当然它不起作用,因为我覆盖了另一个MimeMessage对象而不是从这个API中使用的对象。 有人之前发现过这个问题吗? 任何建议都是受欢迎的。
答案 0 :(得分:0)
doc 实际上明确地描述了使用 Simple Java Mail documentation website 进行覆盖,而且再简单不过了!
yourEmailBuilder.fixingMessageId("<123@456>");