2012-04-15 11 views
-1

が含まれている必要があり、私は電子メールにSMTPエラー:送信者のアドレスは、ドメイン

SMTP -> ERROR: MAIL not accepted from server: 501 : sender address must contain a domain 

を送信しようとすると、私はそれが正常に動作するために使用されるこのエラーを取得するこんにちは、私はPHPのメーラーを使用 を起こったかわからないんだけどしかし、私はこれが重要だとは思わない。

$smtp = setting::get_smtp(1 , 'support');  

    $mail = new PHPMailer(); 
    $mail->IsSMTP(); 
    $mail->Host  = $smtp->address; //localhost 
    $mail->CharSet = "utf-8";        
    $mail->SMTPAuth = true;     
    $mail->Port  = $smtp->port; // 25     
    $mail->Username = $smtp->username; 
    $mail->Password = $smtp->password; 
    $mail->From  = $smtp->from ; // www.mysite.com 
    $mail->AddReplyTo ($smtp->username , $smtp->from); // [email protected] //www.mysite.com 
    $mail->Subject = $title; 
    $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; 

     $mail->MsgHTML($msg); 
     $mail->SMTPDebug = 1; 
     if(filter_var($admin_email , FILTER_VALIDATE_EMAIL) == TRUE){ 
     $mail->AddAddress($admin_email , "John Doe"); 
      $mail->Send(); 
     } 

答えて

4

エラーメッセージは少し誤解を招いていますが、問題は明らかです。 From:ヘッダーには完全なメールアドレスとしてドメインが含まれている必要があります。 $smtp->fromwww.mysite.comが含まれていると、無効なメールアドレスとなり、@以降の部分が欠落しています。メーラはあなたのドメイン名を電子メールアドレスの最初の部分(ユーザ部分)と誤解し、それに同行するには@domainが必要であると訴える。 $smtp->fromプロパティに完全な送信者のメールアドレスを入力します。

// Should be something like [email protected] 
$mail->From  = $smtp->from ; 
+0

が、これはそれをですが、それは私は鮮やかにそれが実際にFromヘッダの内容についてより厳密に得ている可能性のあるメッセージを配信しているSMTPサーバー@max何 – max

+0

と連携するために使用覚えてちょっと奇妙です感謝します。報告されたエラーはSMTPサーバーから発生し、PHPによって中継されます。 –

0

$ mail->はメールアドレスに設定する必要がありますか?

関連する問題