0

PHPMailerを使用してHTMLメールを送信しています。最初にを呼び出した後、最初にHTML変数とPHP変数を使用して電子メールのHTML本文を設定しましたob_start

これが私のコードです:

<?php

ob_start();
?>

..... a bunch of VALID HTML

<?
$body = ob_get_contents();

require_once('class.phpmailer.php');

// Send to Me
$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch
$mail->IsSendmail(); // telling the class to use SendMail transport

try {
    $mail->AddReplyTo('info@example.com', 'Company Name');
    $mail->AddAddress('me@example.com', 'My Name');
    $mail->SetFrom('info@example.com', 'Company Name');
    $mail->Subject  =  "Contact Form Confirmation";
    $mail->AltBody    = "This is a contact form submitted through the main website.";
    $mail->WordWrap   =  50; // set word wrap   
    $mail->Body = $body;
    $mail->IsHTML(true); // send as HTML

    $mail->Send(); // Try to send email

    } catch (phpmailerException $e) {
        echo $e->errorMessage(); //Pretty error messages from PHPMailer
    } catch (Exception $e) {
        echo $e->getMessage(); //Boring error messages from anything else!
}
// end try

何らかの理由で、この行:

$mail->Body = $body;

メールが送信されないようにします。私がそれを置き換える場合:

$mail->Body = "This is a test email.";

メールは完全に送信されます。

中に含まれているHTML$bodyが、先頭にCSSが含まれ、Javascriptなどが含まれていない有効なHTMLページである場合、電子メールが送信されないのはなぜですか。

これを行う別の方法はありますか?助けてください!!

4

1 に答える 1

0

何らかの理由で、FAX番号が含まれている場合は電子メールが送信されていなかったことが判明しました。まったく奇妙です。マークアップ全体をテストし、10桁の電話番号を削除しただけで、ようやくメールが届きました。私は初心者ではありません。文字通り、削除したテキストはそれだけで、メールは正常に送信されました。

誰かがこれを前に見たことがありますか?

于 2012-12-19T14:07:26.397 に答える