【问题标题】:email header "from" containing first and last names, not sender's email包含名字和姓氏的电子邮件标题“发件人”,而不是发件人的电子邮件
【发布时间】:2012-04-21 03:54:30
【问题描述】:

我正在使用 zend 邮件组件从 pop3 服务器读取电子邮件。

我想知道谁收到了这封电子邮件,当我尝试 $message->from 时,我看到没有发件人电子邮件的“FirstName LastName”。

我做了 print_r($message->getHeaders()) 并且没有在这封电子邮件的任何标题中看到发件人的电子邮件。

我认为发件人电子邮件是必需的,并且必须始终设置。这里有什么问题吗?

是否可能有带有“发件人”标头的电子邮件,只有名字/姓氏而没有电子邮件?

【问题讨论】:

  • 显然我无法判断这是否与您的情况相关,但如果您 print_r() 是一个有效的 from 标头并且地址在尖括号中,您只能通过查看HTML 源代码,因为尖括号和电子邮件地址可能被浏览器视为(尽管无法识别)HTML 标记。
  • 您的评论应该是答案,所以我可以将其标记为“已接受”

标签: pop3 zend-mail


【解决方案1】:

根据我的评论:

如果您print_r() 是一个有效的from 标头并且地址位于尖括号中,您可能只能通过查看 HTML 源代码才能看到它,因为尖括号和电子邮件地址可能会被视为(尽管无法识别)HTML标签,由浏览器。

但是,如果将来有人遇到此问题(并且电子邮件地址未显示在 HTML 源代码中),请记住,发件人可能在没有From: 地址的情况下发送电子邮件,即使这在技术上是无效的。

【讨论】:

  • +1 对于 message-id 字段,我也发生了同样的事情。我花了几个小时才找到这个答案。
【解决方案2】:

是的,这是完全可能的。每封电子邮件通常有 2 个“发件人”地址。 99% 的时间,这些是相同的值,但它们可以不同。有在 SMTP 会话期间使用的 MAIL FROM 地址,它发出 MAIL FROM 命令。然后,在电子邮件标题中找到 FROM 地址(此 FROM 地址在 SMTP DATA 命令期间发送)。这就是您可以获取电子邮件欺骗的方式。

这样想(在蜗牛邮件的物理世界中)。您可以在信封的外面有一个 FROM 地址(这相当于 MAIL FROM 命令)。这应该是发送消息的人。然后,您可以在信封内的信头上有一个不同的 FROM 值。这将是您在电子邮件标题中看到的 FROM 值。

这是一些没有 F​​ROM 地址的原始标头的示例

From: "Steve James"  
To: "John Doe" <you@yourcompany.com>  
Date: Fri, 24 Feb 2012 07:43:40 -0800  
Subject: Here is the progress report  

....  

希望我没有把它弄得像泥巴一样清晰。

--

【讨论】:

    【解决方案3】:

    使用以下格式:

    Firstname Lastname <vasya@poupkine.com>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      • 2019-01-09
      相关资源
      最近更新 更多