我刚刚从Gmail SMTP切换到Amazon SES SMTP以发送事务性邮件。切换后,我收到以下错误,Gmail没有收到该错误:
java.lang.IllegalStateException: 无法用 com.sun.mail.smtp.SMTPSendFailedFailedException: 554 事务失败: 重复标头"回复"。 at java.lang.Throwable.initCause(Throwable.java:456( at javax.mail.MessagingException.setNextException(MessagingException.java:51( at javax.mail.Transport.send(Transport.java:109( at javax.mail.Transport.send(Transport.java:48( at java.lang.Thread.run(Thread.java:745( 由以下原因引起:com.sun.mail.smtp.SMTPSendFailed异常:554 事务失败:重复标头"回复"。 at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2108( at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1889( at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1120( at javax.mail.Transport.send(Transport.java:95( ...5 更多
以下是我在试图找出问题时的观察:
(1(如果我在"回复"标题中指定一个电子邮件地址,则不会发生此错误。
(2(如果我在"回复"标题中指定多个电子邮件地址,则会发生此错误。
想法将不胜感激。谢谢
以下是对我有用的方法:
我更改了代码
MimeMessage message = new MimeMessage(session);
message.setReplyTo(new InternetAddress[1]);
自
message.setHeader("Reply-To",replyTo.trim());
这允许我在 replyTo 标头中有多个地址。