在这个PHP电子邮件函数的结果中,我得到了随机点的感叹号。我读到这是因为我的行太长了,或者我不得不用Base64编码电子邮件,但是我不知道该怎么做。
这就是我所拥有的:
$to = "you@you.you";
$subject = "Pulling Hair Out";
$from = "me@me.me";
$headers = "From:" . $from;
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: 64bit\r\n";
mail($to,$subject,$message,$headers); 我怎样才能解决这个问题,这样就没有随机问题了!结果呢?谢谢!
发布于 2013-08-23 17:54:05
如前所述:Exclamation Point in HTML Email
问题是你的字符串太长了。将超过78个字符的HTML字符串输入邮件函数,您将得到一个!(砰)在你的弦里。
这是由于RFC2822 https://www.rfc-editor.org/rfc/rfc2822#section-2.1.1中的行长限制造成的。
发布于 2014-12-08 16:41:06
尝试使用以下代码:
$to = "you@you.you";
$subject = "Pulling Hair Out";
$from = "me@me.me";
$headers = "From:" . $from;
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: 64bit\r\n";
$finalMessage = wordwrap( $message, 75, "\n" );
mail($to,$subject,$finalMessage,$headers);问题是一行不应超过998个字符。(另见https://stackoverflow.com/a/12840338/2136148)
发布于 2013-08-23 17:54:18
你说得对,那是因为你的电子邮件太长了。尝试用邮件标题中的这一行替换。
Content-Transfer-Encoding: quoted-printablehttps://stackoverflow.com/questions/18408856
复制相似问题