###前提・実現したいこと
PHPMailerでgmailを送信したいです。
他のサーバーで使っているメールは何も問題なく送信できていたのですが、Gamilにした途端、送信できなくなりました。
###発生している問題・エラーメッセージ
2017-12-07 02:49:22 SERVER -> CLIENT: 220-server.○○○.com ESMTP Exim 4.89 #1 Wed, 06 Dec 2017 19:49:22 -0700 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. 2017-12-07 02:49:22 CLIENT -> SERVER: EHLO ○○○.biz 2017-12-07 02:49:22 SERVER -> CLIENT: 250-server.○○○.com Hello ○○○.biz [○○○.○○○.○○○.○○○]250-SIZE 52428800250-8BITMIME250-PIPELINING250-AUTH PLAIN LOGIN250-STARTTLS250 HELP 2017-12-07 02:49:22 CLIENT -> SERVER: STARTTLS 2017-12-07 02:49:22 SERVER -> CLIENT: 220 TLS go ahead 2017-12-07 02:49:22 CLIENT -> SERVER: EHLO ○○○.biz 2017-12-07 02:49:22 SERVER -> CLIENT: 250-server.○○○.com Hello n○○○.biz [○○○.○○○.○○○.○○○]250-SIZE 52428800250-8BITMIME250-PIPELINING250-AUTH PLAIN LOGIN250 HELP 2017-12-07 02:49:22 CLIENT -> SERVER: AUTH LOGIN 2017-12-07 02:49:22 SERVER -> CLIENT: 334 VXNlcm5hbWU6 2017-12-07 02:49:22 CLIENT -> SERVER: bmFva2l1cGFAZ21haWwuY29t 2017-12-07 02:49:22 SERVER -> CLIENT: 334 UGFzc3dvcmQ6 2017-12-07 02:49:22 CLIENT -> SERVER: OEhULVJrcy1XZ1otTk1a 2017-12-07 02:49:24 SERVER -> CLIENT: 535 Incorrect authentication data 2017-12-07 02:49:24 SMTP ERROR: Password command failed: 535 Incorrect authentication data SMTP Error: Could not authenticate. 2017-12-07 02:49:24 CLIENT -> SERVER: QUIT 2017-12-07 02:49:24 SERVER -> CLIENT: 221 server.○○○.com closing connection SMTP Error: Could not authenticate.
###該当のソースコード
PHP
1require_once '/home/○○○/vendor/autoload.php'; 2 mb_internal_encoding("UTF-8"); 3 use PHPMailer\PHPMailer\PHPMailer; 4 use PHPMailer\PHPMailer\Exception; 5 6 7 $to = "○○○"; 8 $subject = "abcd"; 9 $body = "こんにちは"; 10 $from = "○○○@gmail.com"; 11 $fromname = "○○○"; 12 $mail = new PHPMailer(true); 13 $mail->SMTPDebug = 2; 14 15 $mail->CharSet = "UTF-8"; 16 $mail->Encoding = "base64"; 17 18 19 $mail->IsSMTP(); 20 $mail->SMTPAuth = TRUE; 21 $mail->SMTPSecure = 'tls'; 22 $mail->Host = 'smtp.gmail.com'; 23 $mail->Port = 587; 24 $mail->Username = '○○○@gmail.com'; 25 $mail->Password = '○○○'; 26 $mail->SMTPOptions = array( 27 'ssl' => array( 28 'verify_peer' => false, 29 'verify_peer_name' => false, 30 'allow_self_signed' => true 31 ) 32 ); 33 $mail->ClearAddresses(); 34 $to = explode(',',$to); 35 for ($i = 0; $i < count($to); $i++) { 36 $mail->addAddress($to[$i]); 37 } 38 $mail->setFrom($from, $fromname); 39 $mail->Subject = $subject; 40 $mail->Body = $body; 41 42 if(!$mail->send()) { 43 echo 'メッセージは送られませんでした!'; 44 echo 'Mailer Error: ' . $mail->ErrorInfo; 45 } else { 46 echo '送信完了!'; 47 }
###試したこと
Google関係
・安全性の低いアプリを許可。許可から半日経つが改善されず。(https://www.google.com/settings/u/1/security/lesssecureapps)
・Googleアカウントへのアクセスを許可後、再試行(https://accounts.google.com/b/0/DisplayUnlockCaptcha)
・パスワードを再発行
その他
・ssl/465で再試行
・異なるメールサーバーからの送信(同条件で成功)
・phpは7.1.12を使っていて、証明書の検証が必要だったため、SMTPOptionsから設定を変えた
###補足情報(言語/FW/ツール等のバージョンなど)
php7.1.12 (cli) (built: Dec 4 2017 16:02:32) ( NTS )
レンタルサーバー(Bluehost)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/07 04:24