我使用以下代码发送电子邮件,它工作正常
$headers = array (
'From' => $emailAddress,
'To' => $emailDest,
'Subject' => $subject,
'Return-Path' => 'bounce@*****.eu',
'X-Codent' => '['.$codent_header.']',
'X-Ent' => '['.$ent_header.']',
'X-Bzd' => '['.$database.']',
'X-Email' => '['.$email['Email'].']'
);
$hdrs = $mime->headers($headers, true);
$smtp = Mail::factory('smtp',
array ('host' => 'ssl://'.$emailServer,
'auth' => true,
'port' => '465',
'username' => $emailUtilizator,
'password' => $emailParola));
$mail = $smtp->send($emailDest, $hdrs, $body);
然而,几天前的脚本停止工作时,通过雅虎发送。快速检查日志显示发送尝试返回以下错误:
Failed to set sender: bounce@*****.eu [SMTP: Invalid response code received from server (code: 553, response: From address not verified - see http://help.yahoo.com/l/us/yahoo/mail/original/manage/sendfrom-07.html)]
脚本工作,如果我删除返回路径,但这样做将意味着我不能再跟踪电子邮件,将无法得到准确的报告。
该错误仅在处理yahoo时发生。Google, live和其他地址都可以。
有办法克服这个吗?
我建议检查您的邮件服务器日志。找出远程(雅虎)邮件服务器在做什么——我认为它在试图验证返回地址是否有效。
还要确保返回地址存在并接受邮件。