2

我在某些情况下(例如当他们更改密码时)向用户发送电子邮件。我有一个奇怪的问题,如下所示:我不知道为什么,但有时代码中的某处有一个新行(或样式可能被忽略)。即使我没有改变任何事情,我也会收到不同的电子邮件。一个类似的问题是字符之间有额外的空格。

$message = '<html><body>';
$message .= '<table class="reg_mail">';
$message .= '<tr>';
$message .= '<td class="hi" style="padding-top:10px;">';
    $message .= '<p>Hi '.$user.',</p>';
$message .= '</td>';
$message .= '</tr>';
//bla bla bla
$message .= '<tr>';
$message .= '<td class="hi" style="padding-top:10px;">';
    $message .= '<pAll rights reserved</p>';
$message .= '</td>';
$message .= '</tr>';
$message .= '</table>';
$message .= '</body></html>';

所以这基本上是电子邮件。我向我的电子邮件地址发送了两次电子邮件,在第一个中我得到了“保留所有权利”,在第二个中我得到了“保留所有权利”。到底是怎么回事?其他时候,当我在邮件中有一个包含七行的表格时,其中一行看起来似乎忽略了 margin:0代码。

这是一个常见问题,还是我的代码错误?

编辑:

发送邮件:

$mail_from = "donotreply@website.com";
$headers = "From: \"Website\" <$mail_from>\r\n" .
  "Reply-To: $mail_from\r\n" .
  "MIME-Version: 1.0\r\n" .
  "Content-Type: text/html; charset=utf-8\r\n";

mail($form_email,$subject,$message,$headers);
4

1 回答 1

3

您没有包含实际发送邮件的代码,但也许您忘记将消息分成 70 个字符的行?

$message = wordwrap($message, 70, "\r\n");

或者:"\r\n"手动添加到您的字符串中,例如

$message = '<html><body>' . "\r\n";
$message .= '<table class="reg_mail">' . "\r\n";
// ... 
于 2013-03-31T18:43:38.427 回答