JavaMail Message.reply (булево) не заполняет получателей - PullRequest
2 голосов
/ 19 января 2011

Я пытаюсь написать простую процедуру для ответа на электронное письмо с определенным адресом и темой, однако по любой причине метод reply не заполняет получателей.

В следующем примере rep всегда равно нулю, любая попытка вызвать Transport.send приводит к исключению, указывающему, что получателей не было.

MimeMessage reply = (MimeMessage) message.reply(false);
Address[] rep = reply.getRecipients(Message.RecipientType.TO);
if (rep == null || rep.length == 0) {
    System.out.println("Reply aborted due to no recipient.");
} else {
    reply.setFrom(from);
    reply.setText(body);
    Transport.send(reply);
}

Я применяю шаблон, который продемонстрирован на страницах Oracle jGuru и скопирован повсюду в различных вариантах.

1 Ответ

2 голосов
/ 19 января 2011

Из документов reply:

Если установлено replyToAll, новое Сообщение будет адресовано всем получателям этого сообщения.В противном случае ответ будет адресован только отправителю этого сообщения (с использованием значения метода getReplyTo).

Поэтому следующим логическим шагом будет проверка того, что возвращает message.getReplyTo().Если это возвращает ноль, это объясняет проблему ...

...