返回路径被Exim覆盖?

时间:2010-11-29 18:42:52

标签: php email smtp

我有一个带cpanel的vps,我正在使用phpmailer通过exim运行的本地smtp服务器发送电子邮件,问题是我实际添加:

$mail->AddCustomHeader('Return-Path: wtf@domain.com');

但它被默认覆盖了,我知道我可以使用-f中的mail()第五个参数来实现它,但我想动态地使用phpmailer来实现它。

感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:2)

PHPMailer类有一个Sender变量,可根据需要设置-f参数(或在使用SMTP时构造相应的MAIL FROM:命令)。来自源代码:

/**
 * Sets the Sender email (Return-Path) of the message.  If not empty,
 * will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
 * @var string
 */
public $Sender            = '';

所以你可能会做类似的事情:

$mail->Sender = 'wtf@domain.com';

发送邮件服务器往往会忽略Return-Path,因为它们具有SMTP MAIL FROM:行的地址。 收件人的邮件服务器将插入Return-Path标头,以用于过滤器或其他下游处理。