首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php mail()函数mail被拒绝

Php mail()函数mail被拒绝
EN

Stack Overflow用户
提问于 2018-10-24 02:49:54
回答 1查看 331关注 0票数 0

我已经将我的旧项目切换到一个新的服务器上,在这个服务器上我使用邮件发送邮件,sendmail是我的邮件服务器,我使用的是php mail()函数,但它不能正常工作

我正在测试的php代码是这样的。

代码语言:javascript
复制
<?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;
?>

邮件正在被接收,但它是从另一个地址递送的,如下所示。

代码语言:javascript
复制
noreply@xyz.interactivedns.com

邮件日志是这样的

代码语言:javascript
复制
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,邮件根本不能投递,甚至连垃圾邮件信箱都不能投递。

我能在这里做些什么?

EN

回答 1

Stack Overflow用户

发布于 2018-10-24 03:02:24

回答您的问题...

看起来你遗漏了我之前在一个类似项目中使用的一些头文件。尝试将您的$header行替换为以下内容:

代码语言:javascript
复制
$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";

Now,一句忠告...

我在原生PHP mail()函数中挣扎了很长一段时间,同时顽固地抵制其他选择。相信我,使用像PHPMailer这样的东西可以节省很多时间和麻烦。当我最终放弃并实现它时(这比我想象的要容易得多),我用mail()解决的所有问题都消失了。除非您愿意编写自己的复杂邮件库,否则请考虑使用PHPMailer或类似的工具。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52956002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档