电子邮件错误:本地部分丢失或格式错误

时间:2014-12-08 13:36:06

标签: email malformed

我注意到每次下订单时我都会收到来自我服务器的电子邮件。看起来客户确认电子邮件没有发送。

这是错误消息的一部分:

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==?=

看起来只有在用户没有注册

的情况下结账时才会这样

3 个答案:

答案 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'不会产生错误...