2014-10-27 4 views
3

JavaMail API имеет класс массажа, который имеет GETFROM() METHODE, как вы можете найти здесь:Почему метод Message.getFrom() возвращает массив?

https://javamail.java.net/nonav/docs/api/javax/mail/Message.html#getFrom()

Два вопроса по поводу этого метода:

  1. Почему вернуть массив объектов Address вместо одного объекта Address? Я не могу думать о ситуации, когда сообщение отправляется более чем одним отправителем.
  2. В документе говорится, что он может отличаться от объекта, который фактически отправил сообщение, в некоторых реализациях. Есть ли пример такой реализации?
+1

Я не знаю, если они имеют в виду, что этот путь, но если вы кузнечны сообщение для отправки, что вы положили в отправителе заголовке сообщения может быть очень хорошо отличается от того, что вы используете в качестве учетных данных SMTP или команды «MAIL FROM»), поэтому создавая ситуацию, близкую к вашему вопросу # 2. – GPI

ответ

3

В стандартной RFC 5322 SMTP позволяет использовать несколько адресов от

3.6.2. Исходные поля

Поля отправителя сообщения состоят из поля from, поля отправителя (если применимо) и необязательного поля ответа. Поле from состоит из имени поля «From» и списка разделенных запятыми одного или нескольких спецификаций почтового ящика. Если поле from содержит более одной спецификации почтового ящика в списке почтовых ящиков, тогда поле сообщения отправителя, содержащее имя поля «Отправитель» и спецификацию одного почтового ящика, ДОЛЖНО отображаться в сообщении. В любом случае также может быть добавлено необязательное поле ответа-ответа, которое содержит имя поля «Reply-To» и список из одного или нескольких адресов, разделенных запятыми.

от = "From:" почтового ящика списка CRLF

Посмотрите на ответ Майкла Хэмптона на этот Serverfault вопрос: SMTP allows for multiple from addresses. Was this ever useful, why does this exist?

Как он упоминает в своем ответе:

RFC 822 фактически дает пример этого использования. Требовалось, чтобы заголовок «Отправитель: » присутствовал при его использовании.

 

А.2.7. Агент для члена комитета

  George's secretary sends out a message which was authored 
    jointly by all the members of a committee. Note that the name 
    of the committee cannot be specified, since <group> names are 
    not permitted in the From field. 

     From: [email protected], 
       [email protected], 
       [email protected] 
     Sender: [email protected] 
Смежные вопросы