【问题标题】:correct email FROM header usage正确的电子邮件 FROM 标头使用
【发布时间】:2011-09-17 22:33:43
【问题描述】:

我想让用户通过向朋友发送电子邮件来分享我网站上的信息。在我走远之前,我想确保我不会因为做错事而被列入黑名单。

如果我的域是 example.com,我可以将邮件 FROM 标头设置为用户提供的电子邮件地址吗?

例如,我想在 example.com 上与我的朋友 Bob 共享一个页面。 Bob 的电子邮件地址是 bob@domain.com,我的电子邮件地址是 me@anotherdomain.com。当 example.com 向 Bob(bob@domain.com) 发送电子邮件时,它会将 FROM 设置为我的电子邮件 (me@anotherdomain.com)。

这是一个问题,因为电子邮件是从 example.com 发送的,但 FROM 标头包含一个域而不是它本身?

以下内容将从 example.com 发送

$to = 'bob@domain.com';
$subject = 'Some subject';
$msg = 'Some message';
$headers = 'From: me@anotherdomain.com <me@anotherdomain.com>' . "\n\r";

mail( $to, $subject, $msg, $headers );

或者我需要执行以下操作吗?

$headers = 'From: me@anotherdomain.com <share@example.com>' . "\n\r";

我们将不胜感激。

【问题讨论】:

  • 我真的跟不上你。您是否尝试使用假名使其看起来像真正的发件人?
  • 不,只是不知道这是否是某种“欺骗”尝试,后来会将我的域列入黑名单,禁止发送电子邮件。
  • 嗯,它本身并不是一个塞子,但我确信它是 SpamAssassin 规则中得分的小事之一。

标签: php email email-headers


【解决方案1】:

不,设置哪个From: 标头电子邮件真的无关紧要

你为什么不试试?

【讨论】:

  • 我试过了。我只是不希望它在一段时间内工作,然后让它无法工作并且无法发送邮件。我想我是在问我在 PHP 脚本中设置 FROM 标头是否更“美观”,而不是尝试“欺骗”。
  • 还有很多假邮件,使用同样的方法emkei.cz他们也使用mail()函数,和你一样
【解决方案2】:

您在 from 标头中写的内容无关紧要。重要的是您使用域中的信封发件人地址。例如,这是针对 SPF 进行检查的。如果您希望收件人能够回复 me@anotherdomain.com,您还需要添加回复标头。

【讨论】:

  • 这个信封发件人地址是否是在显式设置时生成的附加标头?还是设置邮件应用?
  • 信封发件人在 smtp 协议中指定。如果您使用 php 邮件功能是自动完成的,通常看起来像 'nobody@yourserver.com' 或 'www-data@yourserver.com' 但通常可以通过使用 mail() 中的 'additional_parameters' -f 选项来覆盖邮件($to, $subject, $msg, $headers,"-f info@yoursitename.com");
  • 感谢您快速清晰的解释!
【解决方案3】:

有多个电子邮件标题可以指示谁“发送”了电子邮件以及回复谁。可以在page discussing how FormMail handles things 上找到一个相当不错的、随意的概念写法。

一般来说,发件人是电子邮件的实际发件人。相比之下,发件人地址只是电子邮件中的一个标题行,可能会或可能不会被认为意味着什么。发件人地址通常可以完全省略。垃圾邮件发送者可以轻松欺骗发件人地址。 ISP 试图确保垃圾邮件发送者无法欺骗发件人。

听起来你可能想要的是:

  • 发件人:您的网站/程序
  • 发件人:您的网站或用户
  • 回复:用户

【讨论】:

    【解决方案4】:

    许多(如果不是大多数)电子邮件服务器没有为特定域注册,更大的问题是您的服务器是否正确识别自己(具有反向查找条目会有所帮助)并确保它没有被列入黑名单。您可以使用如下服务:http://www.dnsbl.info/ 进行检查。

    大多数具有动态 IP 的主机都被认为是可疑的,但甚至可以列出专用 VPS,因此值得检查。您还应该按照其他一些响应中的概述正确格式化标题。如果这是针对关键应用程序(例如,您向人们收费并且他们希望收到邮件),您应该考虑使用第 3 方 SMTP,它应该确保您不会被列入黑名单。

    【讨论】:

    • 我打算设置额外的标题。我试图保持简单。
    • 我会按照@RHSeeger 的建议重新发送标题,但您还需要确保 ISP 可以验证发件人信息。你会发现有些人比其他人更宽容,所以除非你可以向所有主要提供商发送测试,否则你无法确定,因为许多失败甚至不会反弹。
    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    • 2021-01-12
    • 1970-01-01
    • 2020-10-25
    • 2014-08-23
    相关资源
    最近更新 更多