【发布时间】:2015-04-02 21:33:42
【问题描述】:
当我通过知名的 UA(例如 Outlook、Roundcube...)发送电子邮件时,一切都很好
但是
当我尝试使用 PHPMailer 发送程序化电子邮件时,我在发送的邮件标题中遇到了问题:
Received: from www.domain.tld (hostname.domain.tld [127.0.0.1])
by hostname.domain.tld (Postfix) with ESMTP id C4D7232C14EB
for <me@somedomain.com>; Tue, 3 Feb 2015 16:23:17 +0100 (CET)
www.domain.tld 是我的脚本所在网站的网址,hostname.domain.tld 显然是服务器的 FQDN。
这是我的代码:
$mail = new PHPMailer;
$mail->SMTPDebug = false;
$mail->isSMTP();
$mail->Host = 'localhost';
$mail->From = 'samplesender@sampledomain.tld';
$mail->FromName = 'Some sender name';
$mail->addAddress($emailadresa, $ime);
$mail->CharSet = 'UTF-8';
$mail->isHTML(true);
$mail->Subject = 'Email subject';
$mail->Body = $htmlBody;
$mail->XMailer = ' ';
我还注意到 from www.domain.tld 在我通过知名 UA 发送电子邮件时不存在的标题中。
使用 PHPMailer 发送时如何去掉 127.0.0.1 标头?
【问题讨论】:
-
那是 Postfix 添加该标题。它在
by文本中这么说。无论如何,您对源 IP 有什么顾虑? -
这与PHPMailer无关。那是您的 SMTP 服务器说邮件最初是从“本地”tcp 连接接收的。
-
但是@MarcB,当我使用 Roundcube 发送时,这也是本地 tcp 连接。
-
@mario 当我错误地使用
from: localhost 127.0.0.1发送邮件时,我遇到了严重的麻烦(被微软的服务器阻止) -
Roundcube 可能没有发送到本地主机 - 它可能通过 PHP
mail()函数(PHPMailer 中的isMail())调用sendmail。
标签: php email phpmailer postfix-mta email-headers