我正在使用phps mail()函数发送确认电子邮件.
据我所知,电子邮件收到了gmail和其他人的电子邮件,我遇到的唯一真正的问题是将电子邮件发送到Hotmail或Yahoo帐户.
我已经在互联网上阅读,许多人建议使用PHPmailer
发送php mail()时你们建议做些什么?我正在创建的这个网站是为了一个合法的企业,我需要发送和接收邮件,无论我发送给谁.
下面是我目前的代码,我使用了特定的标题来尝试解决问题.我拥有自己的专用服务器而且我没有列入任何垃圾邮件列表的黑名单,我能想到的只是它本身.
$to = $email;
$subject = "Subject";
$body = "Message";
$headers .= "From: Accounts <accounts@site.com>\r\n";
$headers .= "Reply-To: <accounts@site.com>\r\n";
$headers .= "X-Sender: <accounts@site.com>\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . '\r\n'; //mailer
$headers .= "X-Priority: 3\r\n"; //1 UrgentMessage, 3 Normal
$headers .= "Return-Path: <accounts@site.com>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
mail($to, $subject, $body, $headers);
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏.
问候.
Eri*_*rik 10
在大多数情况下,使用PHPMailer或swiftmailer或任何其他库不会提高您的交付率:最可能的罪魁祸首是您的服务器设置.
发送电子邮件成功是非常困难的,有一个在这里阅读:http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html一个基本的概述了什么是必要的.
特别是雅虎真的想要DKIM设置,如果你的ISP没有为你做这件事,或者你正在使用VPS,那真的很痛苦.
成功发送电子邮件需要花费更多时间,而不是单独使用黑名单.许多ISP的默认设置,它假设你是垃圾邮件,直到你设置的东西会让他们不这么认为.有罪直到被证明是无辜的.
在编码恐怖帖子中,请注意这段话:
Port25提供了非常漂亮的公共服务 - 您可以发送电子邮件至check-auth@verifier.port25.com,它将回复来自:地址并进行广泛的诊断!
我不得不使用备用地址进行测试; check-auth2@verifier.port25.com.您可以在此处阅读有关每个地址测试原因的详细信息:http://www.port25.com/domainkeys/
从长远来看,如果您发送交易电子邮件(即不是群发邮件,而是电子邮件以响应用户操作)我建议使用邮戳(postmarkapp.com)等服务,因为每封电子邮件只有1/10美分,得到所有丑陋的照顾你.