我一直有一些麻烦,电子邮件没有到达某些地址,或者更具体,所以有些域名(例如gmx.com)。但是,电子邮件会在某些域上到达(例如spray.se或gmail.com)。
我已经检查过,我们的服务器IP似乎都很好。在任何地方都找不到任何街区。
我的代码有任何严重问题吗?
$mail_body = "Välkommen till ***!\n\nOm du ej registrerat dig på *** ber vi dig bortse från\ndetta mail.\n\nDin aktiveringskod är:\n" . $activation . "\n\nMvh\nVi på ***"; // Mail body
$subject = "Din aktiveringskod";
$header = "From: *** <no-reply@***.se>\r\n";
ini_set('sendmail_from', 'no-reply@***.se'); // Snabbfix på problem med IIS (5+?)
if(!mail($recipient, $subject, $mail_body, $header)) die ("mail error");
如果电子邮件已发送,则表示没有错误!
我也尝试过utf8-encode整个过程,但这并没有改变任何东西。
问候!
答案 0 :(得分:0)
你的标题应该是这样的
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers.='From: *** <no-reply@***.se>\r\n';
答案 1 :(得分:0)
听起来有些服务器将您的电子邮件识别为垃圾邮件,这可能意味着它们最终会出现在spambox中,或者被阻止一起交付(在更无情的接收器上)。或者你绝对肯定他们是第一个被送到的?如果可以,请检查您的日志。
无论如何,您可以采取一些措施来减少将电子邮件识别为垃圾邮件的可能性:
完全充实标题,例如:
$headers .= "Reply-To: The Sender <sender@sender.com>\r\n";
$headers .= "Return-Path: The Sender <sender@sender.com>\r\n";
$headers .= "From: The Sender <senter@sender.com>\r\n";
$headers .= "Organization: Sender Organization\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
etc...
确保电子邮件中的邮件发件人域名&amp;服务器域匹配
正确使用内容类型属性
您还可以仔细检查您的服务器是否未列入黑名单,但听起来您还是这样做了。
我还建议不要使用PHP邮件功能,尝试使用swift邮件程序或PHPMailer,或者搜索并找到适合您需求的邮件。
答案 2 :(得分:0)
问题根本与该主题无关。导致此问题的是DNS错误。