2012-07-31 23 views
0

我需要使用某種類型的端口到javaMail(鏈接here),該端口從電子郵件服務器接收郵件(本例中爲gmail,但將來可能會更改),並從中讀取一些信息。爲什麼javamail API有一組消息發送者?

我在API中注意到的一件事是,getFrom方法返回一個Address對象數組,如here所示。

我的問題是:在這種情況下,將這個方法的返回:

  1. 空數組
  2. 超過1發件人

我的所有電子郵件總是隻有一個發件人,無論它發送多麼奇怪(CC,BCC,轉發,...)。

他們在那裏說「在某些實現中,這可能與實際發送消息的實體不同。」 ,所以我怎麼知道誰發送了這個消息,以及如果當前的實現是好的?

回答

1

弗里斯特兩個直接從API:

(該屬性= '發件人' 有問題的電子郵件的屬性)

1)This method returns null if this attribute is not present in this message.

2)Returns an empty array if this attribute is present, but contains no addresses.

3)它檢查電子郵件的'from'字段,並返回一個Address對象數組,其中每個 實體在該字段中找到一個地址。因此,當列表中有多個「發件人」時,它將返回大小大於1的數組。

+0

怎麼會有沒有發件人? #1和#2有什麼區別?我仍然沒有得到在哪些情況下會有多個發件人或0。這只是電子郵件服務器的問題嗎?你能想到這種奇怪的場景會發生的任何場景嗎? – 2012-07-31 15:33:30

+0

這可能是一個系統生成的電子郵件形成不良,離開字段或可能會添加字段,但不會添加任何發件人值。這是不可能的,但可能的事情之一。 – 2012-07-31 15:36:34

+0

除非郵件已簽名且您驗證了簽名,否則不會對電子郵件的任何內容進行身份驗證。否則,該消息可以包含任何內容,是真是假,並且應該小心你信任的內容。這就是爲什麼98%的電子郵件都是垃圾郵件。 – 2012-07-31 17:18:33

相關問題