2017-04-03 9 views
0

自分のGmailアカウントを使用してlocalhostから電子メールを送信しようとしました。 私はウェブ上でも、このウェブサイトでも答えを見つけようとしましたが、何も助けてくれませんでした。私はXAMPPを使用しています。GMAILを使用しているPHPMailerエラー:Mailerエラー:SMTP connect()

これはコードです:

require 'PHPMailer-master/PHPMailerAutoload.php'; 

$mail = new PHPMailer();   // create a new object 
$mail->IsSMTP();     // enable SMTP 
$mail->SMTPDebug = 2;   // debugging: 1 = errors and messages, 2 = messages only 
$mail->SMTPAuth = true;   // authentication enabled 
$mail->SMTPSecure = 'ssl';  // secure transfer enabled REQUIRED for Gmail 
$mail->Host = "smtp.gmail.com"; 
$mail->Port = 465;    // or 587 
$mail->IsHTML(true); 
$mail->Username = "[email protected]"; 
$mail->Password = "myUserPass"; 
$mail->SetFrom("[email protected]"); 
$mail->Subject = "Test"; 
$mail->Body = "hello"; 
$mail->AddAddress("[email protected]"); 

if(!$mail->Send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
    echo "Message has been sent"; 
} 

私が得た完全なエラー:

2017-04-03 10:33:15 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:15 CLIENT -> SERVER: EHLO localhost 2017-04-03 10:33:15 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [46.117.89.127] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 2017-04-03 10:33:15 CLIENT -> SERVER: AUTH LOGIN 2017-04-03 10:33:15 SERVER -> CLIENT: 334 VXNlcm5hbWU6 2017-04-03 10:33:15 CLIENT -> SERVER: bXlVc2VyQGdtYWlsLmNvbQ== 2017-04-03 10:33:15 SERVER -> CLIENT: 334 UGFzc3dvcmQ6 2017-04-03 10:33:15 CLIENT -> SERVER: bXlVc2VyUGFzcw== 2017-04-03 10:33:15 SERVER -> CLIENT: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:15 SMTP ERROR: Password command failed: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:15 SMTP Error: Could not authenticate. 2017-04-03 10:33:15 CLIENT -> SERVER: QUIT 2017-04-03 10:33:16 SERVER -> CLIENT: 221 2.0.0 closing connection p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:16 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

私はそれを削除しようとしました:

$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail 

または25にポートを変更します/ 587しかし助けにはならなかった。 誰かがそれを修正する方法を知っていますか?

+0

'$ mail-> SMTPDebug = 1'に設定すると、デバッグに役立つエラー番号が返されます。 –

+0

いいえ、それはできません。 '$ mail-> SMTPDebug = 2'はOPが既に行ったサーバー側エラーを示します。 – Synchro

+0

エラーメッセージがリンクしているGoogleのリンクとトラブルシューティングガイドをお読みください。また、投稿前に検索する - これは何度も前に尋ねられています。 – Synchro

答えて

1

入力したユーザー名とパスワードが正しいと仮定すると、Gmailの外部アプリケーションの使用を許可する必要があります。

次の手順に従って、それを作るために許可する:

  1. まず、Connected apps & sitesの下であなたのGoogle Account Management page
  2. に行き、あなたの場合は、Allow less secure apps: ON

それが動作しない場合はをクリックしてくださいGmailアカウントで2段階認証が有効になっています(use an auto-generated password)。

更新:

Allow less secure apps: ONを回すことはあなたの問題を解決するかもしれませんが、それは、トラブルシューティングのヒントとしてではなく、最終的な解決策として取られるべきです。

+0

ありがとうございました! – Orih90

+0

これは報告された問題を「修正」しますが、GmailでPHPMailerを使用するためにセキュアなアプリケーションを無効にする必要はありません。ドキュメントを読む。 – Synchro

+1

@シンクロは「ドキュメントを読む」と言っても、回答を改善するのに役立つわけではなく、Gmailのドキュメントではトラブルシューティングのヒントとしてセキュアなアプリケーションを無効にすると言います。 https://support.google.com/mail/answer/7126229?visit_id=1-636268261334269899-3579076150&rd=1#cantsignin –

関連する問題