1

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

如果我的域是 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";

任何和所有的帮助将不胜感激。

4

4 回答 4

1

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

于 2011-06-18T21:17:48.903 回答
1

有多个电子邮件标题可以指示谁“发送”了电子邮件以及回复谁。可以在讨论 FormMail 如何处理事情的页面上找到一个相当不错的、随意的概念写法。

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

听起来您可能想要的是:

  • 发件人:您的网站/程序
  • 来自:您的网站或用户
  • 回复:用户
于 2011-06-18T21:26:42.537 回答
0

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

你为什么不试试?

于 2011-06-18T21:12:09.060 回答
0

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

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

于 2011-06-18T21:31:49.153 回答