2009-05-12 38 views
0

私は2つのPHP電子メールスクリプトを使用し、SMTPサーバー経由でルーティングしました。SMTP経由で送信された2つの電子メール

mail()を使用すると、これは起こりませんが、SMTPを使用する方がはるかです。

これが発生する理由は何ですか?

+1

表示するコードはありますか? – lothar

+0

私はPHPClailでPHPMailerまたはトップのPHPメールクラスを使用しています。すべての標準コードは、私によって変更されていません。それは両方の場合に発生しますが、SMTPを使用する場合にのみ発生します。 – James

+0

問題はあなたのSMTPサーバーの設定と同じように聞こえますが、あなたのPHPコードではそうではありません。 –

答えて

0

現在の関数だ

1

「To」または「Recipient」ヘッダーを複数回設定すると、SMTPサーバーはそのメッセージを別の電子メールアドレスとして解釈し、複数の電子メールを受信します。

PEAR Mailクラスの使用をお勧めします。非常に使いやすく、あなたの仕事の多くを処理します。 SMTPを含む複数のバックエンドをサポートします。同様に、HTMLメールを送信するようにクラスを拡張したい場合、Mail_Mimeクラスはこれを非常にうまく処理し、プレーンテキスト本文とHTML本文を設定します(受信者がHTMLをサポートしない場合)。あなただけそれがコードです編集せずにphpmailerのを使っているのであれば、これまで

0
function send_email($from, $fromname, $to, $subject, $body, $alt = '') 
{ 
    require_once('class.phpmailer.php'); 
    //include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded 

    $mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch 

    $mail->IsSMTP(); // telling the class to use SMTP 

    try 
    { 
     $mail->Host  = 'localhost'; // SMTP server 
     $mail->SMTPDebug = 2;      // enables SMTP debug information (for testing) 
     //$mail->AddReplyTo($from, $fromname); 
     $mail->AddAddress($to); 
     $mail->SetFrom($from, $fromname); 
     $mail->Subject = $subject; 
     //$mail->AltBody = $alt; // optional - MsgHTML will create an alternate automatically 
     $mail->MsgHTML($body); 
     $mail->Send(); 
     echo 'Message Sent OK'; 
    } 
    catch (phpmailerException $e) 
    { 
     echo $e->errorMessage(); //Pretty error messages from PHPMailer 
    } 
    catch (Exception $e) 
    { 
     echo $e->getMessage(); //Boring error messages from anything else! 
    } 
} 

、それはあなたのスクリプトのせいではありません。多分あなたのSMTPサーバの設定をチェックしますか?

+0

あなたは、あなたの質問に。 – cmptrgeekken

0

あなたのコードに基づいて、それが誤りのあるクラスであれば、「Message Sent OK」を2回受け取ることが期待されます(どうして起こるのか分かりません)。あなたがしない場合、私はあなたのSMTPサーバーを(おそらくサポートへの呼び出しを介して)見ているだろう。

この場合、返信を無効にして原因を排除していると仮定していますか?注:私はそれが(スパムとして分類されている可能性を除いて)何かに影響することを示唆していません。

ちなみに、私はPHPMailerからSwift Mailerに少し前に移動しました&は一度も振り返らなかったことがあります。あなたがサポートから何か喜びを得ていないなら、私は少なくともSwift Mailerで試してみます。

0

私はda5idが言ったことに同意します。なぜあなたは2番目のエラーメッセージを出しませんか?さらに彼らは本当に2つのメッセージを受信するかどうか受信機をチェックしている?

関連する問題