2014-10-27 20 views
3

了JavaMail API有具有GETFROM()梅索德按摩類,你可以在這裏找到:爲什麼Message.getFrom()方法返回一個Array?

  1. 爲什麼它返回一個數組:

    有關此方法

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

    兩個問題Address對象而不是一個Address對象?我想不到一個消息是由多個發件人發送的情況。

  2. 該文檔說明它可能與實際發送消息的實體不同,在某些實現中。有沒有這種實現的例子?
+1

我不知道他們的意思是這樣,但如果你是鍛造消息發送,你放什麼消息的發送者頭很可能是與您用作SMTP憑據或「MAIL FROM」命令不同),因此創建類似於您的問題#2的情況。 – GPI 2014-10-27 08:50:15

回答

3

在標準RFC 5322 SMTP允許多個FROM地址

3.6.2。發起者字段

消息的發起者字段由發件人字段,發件人字段(如果適用)和可選的回覆字段組成。 from字段由字段名稱「From」和一個或多個郵箱規範的逗號分隔列表組成。如果發件人字段在郵箱列表中包含多個郵箱規範,則必須在郵件中顯示包含字段名稱「發件人」和單個郵箱規範的發件人字段。在任何一種情況下,還可以包含可選的回覆字段,其中包含字段名稱「Reply-To」和一個或多個地址的逗號分隔列表。

從= 「從:」 郵箱列表CRLF

看看邁克爾·漢普頓的回答這個serverfault問題:SMTP allows for multiple from addresses. Was this ever useful, why does this exist?

正如他在他的回答中提到:

RFC 822實際上給出了這種用法的一個例子。它使用時需要 發件人:標題。

 

A.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] 
相關問題