PHP:554消息不允许-头不符合RFC[291]
这篇文章可以复制,但请在标记之前阅读 我使用一个邮件功能,我做了什么,工作了一段时间,直到我没有开始收到来自Yahoo.com和SkyNet.be的错误消息 现在我知道这一错误是由于电子邮件中的PHP:554消息不允许-头不符合RFC[291],php,email,smtp,Php,Email,Smtp,这篇文章可以复制,但请在标记之前阅读 我使用一个邮件功能,我做了什么,工作了一段时间,直到我没有开始收到来自Yahoo.com和SkyNet.be的错误消息 现在我知道这一错误是由于电子邮件中的消息ID或日期标题造成的,但我的看法是消息ID是主要问题,需要解决这一部分 这是我如何生成消息ID的代码: // Generate secure unique message ID $msgID = sprintf( "<%s.%s@%s>", base_convert(mic
消息ID
或日期
标题造成的,但我的看法是消息ID
是主要问题,需要解决这一部分
这是我如何生成消息ID
的代码:
// Generate secure unique message ID
$msgID = sprintf(
"<%s.%s@%s>",
base_convert(microtime(), 10, 36),
base_convert(bin2hex(
function_exists('random_bytes') ? random_bytes(8) : (
function_exists('openssl_random_pseudo_bytes') ? openssl_random_pseudo_bytes(8) : decbin(rand(100,819))
)
), 16, 36),
$_SERVER['SERVER_NAME']
);
现在主要的问题是:-我为什么会出错:
数据结束后远程邮件服务器出现SMTP错误:不允许发送554封邮件-邮件头不符合RFC[291]
???您需要添加到消息头
Date: 2011-11-11
From: <email>
To: <email>
Subject: Subject here
日期:2011-11-11
发件人:
致:
主题:这里是主题
某些服务器正在检查标头是否包含以下字符串:)
这是RFC(最新的)
要解决此问题,必须删除标题数组中的“主题” Php邮件函数有一个参数,应该用来传递“主题” 因此,如果在其他标题中添加主题,消息的主题将被发送2次,这就是问题所在
有关更多详细信息,请查看此处:您的意思是
日期
的格式必须为Y-m-d
,从
仅电子邮件和到
从我的列表中缺失?
Date: 2011-11-11
From: <email>
To: <email>
Subject: Subject here
function mail ($to, $subject, $message, $additional_headers = null, $additional_parameters = null)