2
reply
메소드가 수신자를 채우지 않는 이유가 무엇이든간에 결정한 발신 주소 및 제목을 사용하여 이메일에 회신하는 간단한 루틴을 작성하려고합니다.JavaMail Message.reply (부울)가 수신자를 채우지 않음
다음 예제에서 rep
은 항상 null이고, 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 pages에 보여 모든 다양한 맛의 여기 저기 복사 된 패턴을 적용하고있다. reply
의 문서에서
감사합니다. Jon, 사과해야합니다. 나는 실제로이 동작에 대한 테스트를 추가했는데, 실제로 처음 읽었을 때 JavaDoc을 잘못 해석했지만, "getReplyTo"가 null이고 "replyToAll"이 true 인 경우 여전히 "getFrom()"받는 사람에게 응답 할 것이라고 생각했습니다. Bcc 및 Cc 주소와 관련된 인수는 수신자로 추가됩니다 (대부분의 전자 메일 클라이언트에서 reply-to-all 기능과 비슷합니다). –