554 Транзакция не удалась: дубликат заголовка «Ответить» - PullRequest
0 голосов
/ 18 октября 2018

Я только что переключился с Gmail SMTP на Amazon SES SMTP для отправки транзакционных писем.После переключения я получил ошибку, ниже которой я не получал Gmail:

java.lang.IllegalStateException: Can't overwrite cause with com.sun.mail.smtp.SMTPSendFailedException: 554 Transaction failed: Duplicate header 'Reply-To'.

    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)
Caused by: com.sun.mail.smtp.SMTPSendFailedException: 554 Transaction failed: Duplicate header 'Reply-To'.

    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 more

Вот мои наблюдения при попытке выяснить проблему:

(1) Если я укажуодин адрес электронной почты в заголовке «Reply-TO», этой ошибки не происходит.

(2) Если я укажу несколько адресов электронной почты в заголовке «Reply-TO», произойдет эта ошибка.

Идеи будут оценены.Спасибо

1 Ответ

0 голосов
/ 18 октября 2018

Вот что у меня сработало:

Я изменил код с

   MimeMessage message = new MimeMessage(session);

   message.setReplyTo(new InternetAddress[1]);

На

   message.setHeader("Reply-To",replyTo.trim());

Это позволило мне иметь несколько адресов в заголовке replyTo.

...