php mail()sendmail,伪装成任何域名?

时间:2013-07-24 15:06:49

标签: php dns sendmail

我正在运行一个灯泡服务器,我使用php mail()功能从当前域发送邮件(使用$username @ $_SERVER['HTTP_HOST']作为来源地址)。我在同一台服务器上使用了很多域,我需要来自正确域的电子邮件。

现在我正在为一个域使用假面舞会:

dnl # Masquerading options
FEATURE(`always_add_domain')dnl
MASQUERADE_AS(`srv.domain.org')dnl
FEATURE(`allmasquerade')dnl
FEATURE(`masquerade_envelope')dnl

这适用于此域,但没有其他域。

如何将php中的from-field设置为我想要的?现在所有电子邮件都是从同一个域发送的,无论我在php中设置了哪个域。

编辑:

所有域名都是CNAME记录,指向一条A记录,指向服务器。每封电子邮件都使用该A记录域名。

2 个答案:

答案 0 :(得分:0)

您可以在标题中设置from地址,但请注意,如果发件人地址和服务器域不匹配,很多电子邮件客户端会将电子邮件标记为垃圾邮件。

$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com'; // other headers

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

PHPDocs for mail()

所示

答案 1 :(得分:0)

放弃,安装postfix,配置它使用smtp中继,一切都按预期工作。

5分钟,“插即播”。