Php脚本拒绝发送到Outlook.com

Php脚本拒绝发送到Outlook.com,php,email,Php,Email,对于许多人来说,outlook.com似乎是一个反复出现的问题 下面我的脚本与@college.edu,@gmail.com,一起工作,但在outlook.com上-它甚至拒绝访问垃圾文件夹,不管收件箱如何修改它来修复它 我已经检查了我的发件人域,以确保它没有被列入黑名单 脚本: <?php $doraccount = 'noreply@mydomain.com'; $pathwayurl = $_POST['pathway_url']; $to = $_POST['email_add

对于许多人来说,outlook.com似乎是一个反复出现的问题

下面我的脚本与
@college.edu
@gmail.com
,一起工作,但在outlook.com上-它甚至拒绝访问
垃圾文件夹,不管
收件箱如何修改它来修复它

我已经检查了我的发件人域,以确保它没有被列入黑名单

脚本:

<?php
$doraccount = 'noreply@mydomain.com';

$pathwayurl = $_POST['pathway_url'];

$to = $_POST['email_address'];
$subject = "Path Share";
#message for email
$message = '<html><body><div style=width:362px;display:block;margin:0% auto;>';
$message .= "<img src='http://domain.com/sites/default/files/togo3.gif' alt='my site' /></div>";
#$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
#$message .= "<tr style='background: #eee;'></tr>";
$message .= '<div><p>Thank you for using Pathway tool. We have provided you with a link to the below.  Please check out our other programs and offerings on the <a href="http://www.oursite.com">our site website</a></p>';
$message .= "<br /><br /><strong>link:</strong> <tr><td>" . $pathwayurl ."</div>";
$message .= '<div><p>The Team<br /><a href="mailto:info@domain.com">info@domain.com</a></p></div>';;
$message .= "</body></html>";

$headers  = "MIME-Version: 1.0" . PHP_EOL;
$headers .= "Content-Type: text/html; charset=ISO-8859-1" . PHP_EOL;
$headers .= "From: " . $doraccount . PHP_EOL;

if(mail($to,$subject,$message,$headers)){
    echo "<div style=text-align:center;>
            <img src='http://domain.com/sites/default/files/togo3.gif' alt='domain' /> <br />
            <strong>The email was successfully sent.</strong>
            <br> Redirecting you back to the pathway. 
         </div>";
    header('Refresh: 3;url='.$pathwayurl);
    #echo $message;


} else {
    echo "The email was NOT sent.";
}
?>

日志显示: 不幸的是,来自 xx.xx.xx.xx未发送。请联系您的互联网服务提供商
因为他们的部分网络在我们的阻止列表中。

您可以多次重新定义标题。您需要以下内容:

$headers  = "MIME-Version: 1.0" . PHP_EOL;
$headers .= "Content-Type: text/html; charset=ISO-8859-1" . PHP_EOL;
$headers = "From: " . $doraccount . "\r\n" . PHP_EOL;

$headers  = "MIME-Version: 1.0" . PHP_EOL;
$headers .= "Content-Type: text/html; charset=ISO-8859-1" . PHP_EOL;
$headers .= "From: domain<$from>" . PHP_EOL;
MIME-Version: 1.0\r\n
Content-Type: text/html; charset=ISO-8859-1\r\n
From: domain<$from>\r\n

您从
标题覆盖了旧的
,因此这可能会使Outlook认为这是一封垃圾邮件,并立即将其列入黑名单(这样它甚至不会到达垃圾邮件文件夹)

您是否在线检查了黑名单站点以确保您的域未被列入黑名单?是的,我已经这样做了。无论如何,我猜outlook.com正在拒绝您的邮件。你看过错误日志了吗?
mail()
几乎是无用的垃圾。使用合适的邮递员(phpmailer、swiftmailer),两者都能提供更大的诊断能力。还要检查smtp服务器的日志,看看PHP提交电子邮件后会发生什么。php/mail的工作是把你的信走到街角,然后扔进邮箱。你还需要检查一下邮政系统的其他部分发生了什么。假设你真的关心并控制了你发送电子邮件的IP地址,你就填写这个地址,然后在大约一周的时间里摆弄你的大拇指,而微软会非常缓慢地将你从他们的黑名单中删除。例如,如果您从家庭ISP在个人计算机上运行此服务器,则不要期望从列表中删除。同样,如果你在一个共享环境中,你将不得不联系你的网络主机提供商。这是一个很好的观点,尽管出于某些原因,它没有正确地复制。我只声明了一次mime版本、内容类型和From。请参阅已更新。但是您的新
From
标题也错误。将该行替换为以下内容:
$headers.=“From:”$多尔帐户。PHP_EOL请查看更新的代码,包括您的建议和日志输出。