0

phpmailer smtp 関数を使用すると、エラー メッセージが表示されます。私はphp5を使用しています。以下は私が使用したコードです。

    require_once("class.phpmailer.php");
    $mail = new PHPMailer();

    $mail->IsSMTP(); 
    $mail->SMTPDebug = 1;  
    $mail->SMTPAuth = true;  
    $mail->Host = 'mail.mydomain.com';
    $mail->Port = 21; 
    $mail->Username = xxx;  
    $mail->Password = xxx;           
    $mail->SetFrom($email, $firstname . " " . $lastname);
    $mail->AddAddress($contact);

    $mail->Subject  = $subject;
    $mail->Body     = $message;
    $mail->WordWrap = 50;
    $mail->isHTML(true);
    $mail->Send();

if(!$mail->Send())
{
echo "email_has_not_been_sent <br><br>";
echo "Mailer Error: " . $mail->ErrorInfo;
$IsSent = 0;
exit;
}

ここにエラーメッセージがあります。

SMTP -> ERROR: EHLO not accepted from server: 500 EHLO not understood 
SMTP -> ERROR: HELO not accepted from server: 500 HELO not understood 
SMTP -> ERROR: AUTH not accepted from server: 500 AUTH not understood 
SMTP -> ERROR: RSET failed: 500 RSET not understood 
SMTP Error: Could not authenticate. SMTP -> ERROR: MAIL not accepted from server: 500   MAIL not understood
4

1 に答える 1

1

あなたのコードは問題ないように見えますが、FTP でより一般的に使用されるポートを使用していると思います... 25 と 587 は SMTP ポートとしてより一般的に使用されます

いくつかの基本的な telneting は、何が起こっているかを教えてくれるはずです:

telnet smtp.gmail.com 587

次にコマンドEHLOを入力すると、gmail SMTP サーバーのウェルカム メッセージが表示されます。

サーバーでそれを試してみると、何が得られるかがわかります

次に、より一般的な SMTP ポート ( 25587 ) で同じことを試してみると、違いがわかるはずです。

于 2013-04-17T09:43:46.250 に答える