邮件未发送到特定域

邮件未发送到特定域

我们使用 php 邮件功能向客户发送电子邮件。几天前,我们发现电子邮件无法送达hotmail.com域。我检查了电子邮件日志以查看是否有任何错误消息,以下是我发现的内容:

Aug 30 23:02:50 XXX sendmail[35378]: AXXX: to=<[email protected]>, ctladdr=<apache@XXX> (48/48), delay=00:00:05, xdelay=00:00:05, mailer=esmtp, pri=121148, relay=mx.XXX. [], dsn=5.6.0, stat=Data format error

Aug 30 23:02:50  sendmail[35378]: DSN: Data format error

这是什么数据格式错误以及如何修复?这个 ctladdr 是什么?我是否需要使用 PHP 设置它?我是否需要就此问题联系我的服务器提供商,或者这是我的 php 应用程序相关的问题?

我发送电子邮件的 PHP 代码是:

       function send_email( $name_from, $email_from, $email_to, $subject, $message, $headers="" ) {

    $returnVal = 0;

    // made it through validation, send email
    $subject = trim( $subject );
    $message = trim( $message );
    $headers .= "FROM: $name_from <$email_from>";

    if( mail( "$email_to", "$subject", "$message", "$headers") or die ( trigger_error ( "Error: ", E_USER_ERROR ))) {
        $returnVal = 1;
    }
    return $returnVal;
}

正如您在我这里看到的,$headers我设置了 FROM 字段。

谢谢您的回答?

答案1

您的服务器的域名未被接受(用于 FROM)。它无法解析,格式不正确等。

相关内容