我注意到每次下订单时我都会收到来自我服务器的电子邮件。看起来客户确认电子邮件没有发送。
这是错误消息的一部分:
A message that you sent contained one or more recipient addresses that were
incorrectly constructed:
=?utf-8?B?R3Vlc3Q=?= <>: missing or malformed local part
This address has been ignored. The other addresses in the message were
syntactically valid and have been passed on for an attempt at delivery.
------ This is a copy of your message, including all the headers. ------
To: =?utf-8?B?R3Vlc3Q=?= <>
Subject: =?utf-8?B?SW50ZWxsaWdlbnQgV29ya3Nob3A6IE5ldyBPcmRlciAjIDEwMDAwMDAzMA==?=
看起来只有在用户没有注册
的情况下结账时才会这样答案 0 :(得分:1)
=?utf-8?B?R3Vlc3Q=?= <>: missing or malformed local part
错误信息非常明显:<>
之间应该有一个电子邮件地址,但没有。 本地部分是@
之前的地址的一部分,因为这里什么都没有,所以没有本地部分。因此,您的服务器正在抱怨。
您必须修复尝试将邮件发送到<>
的任何应用程序以解决错误。
答案 1 :(得分:0)
电子邮件地址的格式不正确,请使用&lt;&gt;
答案 2 :(得分:0)
我真的不了解您要做什么。但这是我发现正在处理此错误的原因。
$to = "'Name of Person' <email@example.com>";
$headers = "From: ".$_POST['theirName']."<".$_POST['theirEmail'].">\r\n";
$subject = $_POST['subject'];
$messageBody = $_POST['message']."\r\n ---\n This Message was sent from ".HOME." contact form.";
mail($to,$subject,$messageBody,$headers);
请注意,“人名”周围有单引号。如果您要发送的电子邮件带有其他名称,标题或电子邮件之前的其他内容。用单引号会使PHP知道它不是电子邮件,而是一个字符串,它将添加该字符串,但会被当作电子邮件忽略,不再提供错误。
从其声明的标头不需要单引号。
=?utf-8?B?R3Vlc3Q=?= <-This line I don't know what it supposed to be doing.
但这不是$ to / $收件人的电子邮件,因此它给出了错误。再次,必须只包含以下电子邮件:“ email1@example.com,email2@example.com”,除此之外:单引号的'String'不会产生错误...