2012-04-08 226 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 

.... 

希望我没有做,大约都不清晰。

-

相关问题