Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mail()函数邮件被拒绝_Php_Email - Fatal编程技术网

Php mail()函数邮件被拒绝

Php mail()函数邮件被拒绝,php,email,Php,Email,我已将我的旧项目切换到一个新服务器,在该服务器中我使用mail发送邮件sendmail是我的邮件服务器我正在使用php邮件功能,但它不能正常工作 我正在测试的php代码如下 <?php ini_set( 'display_errors', 1 ); error_reporting( E_ALL ); $from = "noreply@xyz.com"; $to = "panel1@mailinator.com"; $subject = "PHP M

我已将我的旧项目切换到一个新服务器,在该服务器中我使用mail发送邮件sendmail是我的邮件服务器我正在使用php邮件功能,但它不能正常工作

我正在测试的php代码如下

<?php 
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL );
    $from = "noreply@xyz.com";
    $to = "panel1@mailinator.com";
    $subject = "PHP Mail Test script";
    $message = "This is a test to check the PHP Mail functionality";
    $headers = "From:" . $from;
    $val = mail($to,$subject,$message, $headers);
    echo "Test email sents";
    echo $val;
?>
邮件日志是这样的

Oct 23 18:43:51 xyz2 sendmail[14831]: w9NIhp9R014831: from=www-data, size=177, class=0, nrcpts=1, msgid=<201810231843.w9NIhp9R014831@xyz.com>, relay=www-data@localhost
Oct 23 18:43:51 xyz2 sm-mta[14832]: w9NIhpIF014832: from=<www-data@xyz.com>, size=396, class=0, nrcpts=1, msgid=<201810231843.w9NIhp9R014831@xyz.com>, proto=ESMTP, daemon=MTA-v4, relay=www.xyz.com [127.0.0.1]
Oct 23 18:43:51 xyz2 sendmail[14831]: w9NIhp9R014831: to=panel1@mailinator.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30177, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (w9NIhpIF014832 Message accepted for delivery)
Oct 23 18:43:53 xyz2 sm-mta[14835]: w9NIhpIF014832: to=<panel1@mailinator.com>, ctladdr=<www-data@xyz.com> (33/33), delay=00:00:02, xdelay=00:00:02, mailer=esmtp, pri=120396, relay=mail.mailinator.com. [23.239.11.30], dsn=2.0.0, stat=Sent (Ok)
如果我使用gmail id,邮件根本不会被发送,即使是在垃圾邮件箱中也不会

我能在这里做什么?

要回答您的问题

看起来您缺少了我刚才在类似项目中使用的一些标题。尝试用以下内容替换$header行:

$message = wordwrap($message , 70);
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: ' . $from . "\r\n";
现在,一句忠告


我曾长期与原生PHP邮件函数斗争,同时顽固地抵制其他选项。相信我,你将节省自己很多时间和麻烦使用类似的东西。当我最终让步并实现它时(这比我想象的要容易得多),我用邮件解决的所有问题都消失了。除非您愿意编写您自己的复杂邮件库,请考虑或使用类似的工具。

您是否控制XYZ.com?如果不是,你是在欺骗电子邮件,最终会被删除,因为它是欺诈性的。你的信封发件人就是你所看到的,除非另有规定,否则可能是基于你的IP地址。不,它只是xyz aka example.com,但网站是另外一个东西。你必须检查你是否正确配置了SPF和DKIM,然后才能工作。还可以尝试发送一个测试给a,看看你是如何从mailtesting tool中获得0.4.4/10的分数的。还有什么是SPF和DKIM?老实说:这里有什么线索吗?我检查了MX记录是来自intractivedns的,而且我使用的是WebMint。这是一个非常低的分数,你需要至少8.0/10才能有希望进入收件箱。它提供了关于如何解决这个问题的具体建议,所以我会跟进每一项。如果你搜索SPF和DKIM,它们都有很好的文档记录,比如。对于php mailer,我需要一个像google这样的邮件服务器,从na外部托管?不,它仍然没有发送到gmail,也在mailinator中,它来自不同的域
$message = wordwrap($message , 70);
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: ' . $from . "\r\n";