2012-04-08 230 views
1

我正在閱讀帶有zend郵件組件的pop3服務器的電子郵件。電子郵件標題「from」包含名和姓,而不是發件人的電子郵件

我想要的是知道誰發送了這封電子郵件,當我嘗試$ message->從我看到「名字姓氏」沒有發件人電子郵件。

我做了print_r($ message-> getHeaders()),並沒有在這封電子郵件的任何標題中看到發件人的電子郵件。

我認爲發件人的電子郵件是必需的,並且始終必須設置。這裏有什麼問題嗎?

有沒有電子郵件與「發件人」頭只有第一個/姓氏沒有電子郵件?

+1

顯然我不能說這是否與你的情況相關,但是如果你使用'print_r()'有效的'from'頭部並且地址在尖括號中,那麼你只能通過查看HTML源代碼來看到它,因爲尖括號和電子郵件地址可能會被瀏覽器視爲HTML標記(儘管無法識別)。 – SimonMayer 2012-04-10 00:08:37

+0

您的評論應該是答案,所以我可以將其標記爲「已接受」 – waney 2012-04-10 17:11:00

回答

2

按我的評論:

如果你print_r()有效from標題和地址放在尖括號中,你可能只看到它通過查看HTML源代碼,因爲角度括號和電子郵件地址可能會被瀏覽器視爲HTML標記(儘管無法識別)。

但是,如果有人在將來遇到這個問題(和電子郵件地址不存在於HTML源代碼顯示),這是值得銘記的是,發送者可能已經將一封沒有From:地址,甚至儘管這在技術上是無效的。

+0

+1我的消息ID字段發生同樣的情況。我花了幾個小時才找到答案。 – Auxiliary 2013-08-13 15:55:04

1

是的,這是完全可能的。每個電子郵件通常有2個「FROM」地址。 99%的時間,這些是相同的值,但它們可以不同。存在SMTP會話期間使用的MAIL FROM地址,該地址發出MAIL FROM命令。然後,在電子郵件標題中找到FROM地址(此SMTP地址在SMTP DATA命令期間發送)。這就是你如何獲得電子郵件欺騙。

想想這樣(在蝸牛郵件的物理世界)。你可以在信封的外面有一個FROM地址(這與MAIL FROM命令相同)。這應該是發送消息的人。然後,您可以在信封內的信頭上具有不同的FROM值。這將是您在電子郵件標題中看到的FROM值。

下面是一些生頭的例子沒有發件人地址

From: "Steve James" 
To: "John Doe" <[email protected]> 
Date: Fri, 24 Feb 2012 07:43:40 -0800 
Subject: Here is the progress report 

.... 

希望我沒有做,大約都不清晰。

-

相關問題