使用以下代码使用Zend Mail发送电子邮件时:
$to = array("email1@gmail.com","email2@hotmail.com","email3@yahoo.com");
$msg = file_get_contents("email.html");
$mail = new Zend_Mail ( "UTF-8" );
$mail->setMessageId ( "MyMsg__" . md5 ( microtime () ) );
$mail->addHeader ( "Content-Type", "text/html; charset=UTF-8" );
$mail->setBodyHtml ( $msg );
$mail->setSubject ( "News Letter Test" );
$mail->setReplyTo('newsletter@mydomain.com', 'Some Name');
$mail->addHeader('MIME-Version', '1.0');
$mail->addHeader('Content-Transfer-Encoding', '8bit');
$mail->addHeader('X-Mailer:', 'PHP/'.phpversion());
$mail->setFrom ('newsletter@mydomain.com', 'Some Name');
foreach($to as $ml){
$mail->addTo ( $ml );
}
$mail->send ( $transport );
我在gmail中得到了这个:
newsletter@mydomain.com来自u4552323.onlinehome-server.com
如何删除此部分:通过u4552323.onlinehome-server.com
注意我有完全root访问权限,这是一个专用服务器,如果问题出在send_mail配置或主机上,我该如何更改此部分 u4552323.onlinehome-server.com ?
答案 0 :(得分:0)
Google在when messages are sent through another domain中显示Gmail中的“通过”信息。在您的情况下,邮件来自mydomain.com
域中的地址,但邮件服务器位于onlinehome-server.com
域中。
您可以通过mydomain.com
域的SMTP服务器发送邮件来避免这种情况(假设您的托管服务提供商不阻止此类流量)。如果可以控制onlinehome-server.com
服务器的DNS和邮件服务器配置,您还可以配置SPF和DKIM,如Google的文档中所述(但根据您的托管环境,这可能不是一个选项)。