2011-12-11 14 views
1

私はPHPメーラークラスを使用しています。私は取得しています: SMTPエラー:次の受信者に失敗しました:[email protected]PHPメーラーエラー:SMTPエラー

$mail = new phpMailer(); 
$body    = "Hello, this is a test mail."; 
//$body    = preg_replace('/\\\\/','', $body); //Strip backslashes 

$mail->IsSMTP();       // tell the class to use SMTP 
//$mail->SMTPAuth = true;     // enable SMTP authentication 
//$mail->Port  = 25;     // set the SMTP server port 
$mail->Host  = "localhost";   // SMTP server 
$mail->Username = "localhost";  // SMTP server username 
$mail->Password = "password";   // SMTP server password 
//$mail->SMTPSecure = "tls"; 
//$mail->IsSendmail(); // tell the class to use Sendmail 

$mail->AddReplyTo("[email protected]","First Last"); 

$mail->From  = "[email protected]"; 
$mail->FromName = "First Last"; 

$to = "[email protected]"; 

$mail->AddAddress($to); 

$mail->Subject = "First PHPMailer Message"; 

$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 
$mail->WordWrap = 80; // set word wrap 

$mail->MsgHTML($body); 

$mail->IsHTML(true); // send as HTML 

if($mail->Send()){ 
    echo 'Message has been sent.'; 
    } 

は何の理由をすることができますか?

+1

これは関数からの戻り値として取得するのか、それとも電子メールでターゲットドメインのポストマスターから送信されますか? – slugonamission

+0

@slugonamission上記のコードにエラーメッセージが表示されていないことを考慮すると、ターゲットドメインからのバウンスメールが届いていると思います... –

+0

いいえ..このエラーはphpmailerクラスを通過しています。ターゲットドメインからのものではありません。 SMTPが正しく設定されていないため、 – Shades88

答えて

3

認証されたSMTPを使用してこの問題が発生しました。 xamppを使用して自宅からメールをテストしたが、(共有)サーバーに接続した場合、メールは問題なくユーザーに送られた。ホストサーバー上でPHPを使って同じことを試みたとき、電子メールはアカウントのアドレスに送られましたが、外部アドレスには送られませんでした。 (つまり、私のアドレスが[email protected]で、[email protected]に電子メールを送ると、それは通過しますが、[email protected]に送信すると失敗します)私のローカルPC、すなわち$ mail-> Host = "mail.fred.bloggs.com"ではなく、$ mail-> Host = "localhost"でサーバ上で作業しているときは、完全なホストアドレス。うんざりするかもしれませんが、うまくいきます。

+0

非常に助けてください、ありがとう。 – msoa

1

私はちょうどこの問題に遭遇しました。私のケースでは、Webホストのメールサーバーは、差出人アドレスに一致しないドメイン名を許可していなかったと思います。たとえば、mail.mydomain.comを使用してメールを送信していましたが、送信元アドレスが[email protected]になりました 送信元アドレスを[email protected]に変更すると、メールが送信されていました。

+0

メールサーバーを「localhost」に変更しました。問題は解決しました。 – msoa

5

SMTPAuthをfalseに、Host to'localhostを入力してみてください。

ありがとうございます! :)

+0

上記の2つの変更を行うことで、私のサーバーは電子メールを送信できます。ありがとう@ user182925 – Esha

関連する問題