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>';

だから、これは基本的にメールです。私は自分のメール アドレスにメールを 2 回送信しました。何が起こっている?また、メールに 7 行のテーブルがある場合、そのうちの 1 行が 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 に答える