我正在使用zend邮件组件从pop3服务器上阅读电子邮件。
我想要的是知道谁发送了这封电子邮件,当我尝试$ message->从我看到“FirstName LastName”没有发件人电子邮件。
我执行print_r($ message-> getHeaders())并且未在此电子邮件的任何标题中看到发件人的电子邮件。
我认为发件人的电子邮件是必需的,必须始终设置。这里有什么不对吗?
是否可以使用“来自”标题的电子邮件,只包含没有电子邮件的名/姓?
答案 0 :(得分:2)
根据我的评论:
如果您
print_r()
有效from
标题并且地址位于尖括号中,则您只能通过查看HTML源来查看它,因为尖括号和电子邮件地址可能会被视为(虽然无法识别)HTML标记,由浏览器提供。
但是,如果将来有人遇到此问题(并且电子邮件地址未在HTML源代码中显示),请注意发件人可能发送的电子邮件没有From:
地址,即使这在技术上是无效的。
答案 1 :(得分:1)
是的,这完全有可能。每封电子邮件通常有2个“FROM”地址。 99%的时间,这些是相同的值,但它们可以是不同的。在SMTP会话期间使用MAIL FROM地址,它发出MAIL FROM命令。然后,在电子邮件邮件头中找到FROM地址(此SMTP地址在SMTP DATA命令期间发送)。这就是你如何获得电子邮件欺骗。
以这种方式思考(在蜗牛邮件物理世界中)。您可以在信封外部使用FROM地址(这相当于MAIL FROM命令)。这应该是发送消息的人。然后,您可以在信封内的字母头上具有不同的FROM值。这将是您在电子邮件标题中看到的FROM值。
以下是一些没有FROM地址的原始标题的示例
From: "Steve James"
To: "John Doe" <you@yourcompany.com>
Date: Fri, 24 Feb 2012 07:43:40 -0800
Subject: Here is the progress report
....
希望我没有像泥一样清楚。
-
答案 2 :(得分:0)
使用以下格式:
Firstname Lastname <vasya@poupkine.com>