1

PHPMailer を gmail で数日間実行しようとした後、ここでヘルプを見つける必要があります。ここや Google で見つけたほとんどすべてを読みましたが、今まで役立つアイデアはありませんでした。* Windows 7 Home Basic * Wampserver 2.2 を PHP バージョンで使用しています。PHP バージョン 5.4.3 必要なすべての拡張機能は、たとえば php_opensll * PHPMailer 5.2.9 のように設定されています。

これは私が使用しているスクリプトです:

<?php
//require 'PHPMailerAutoload.php';                                              // <<== I have tried this also - no sucess

require 'class-phpmailer.php';
require "class-smtp.php"; //"PHPMailerAutoload.php";
// $mail->PluginDir //WB, 30 Nov 2014:omited if all files from phpmailer are in the same folder
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.gmail.com";
$mail->Mailer = 'smtp';
$mail->SMTPAuth = true;
// I have tried both - TLS and SSL - with the required ports ==>> both are not working 
$mail->Port = 465;
$mail->SMTPSecure = 'ssl';
// or try these settings (worked on XAMPP and WAMP):
//$mail->Port = 587;
//$mail->SMTPSecure = 'tls';

$mail->Username = "wie****@gmail.com";      //my password ==>> works if I make a login oline to my account
$mail->Password = "*************";  //my password ==>> works if I make a login oline to my account

$mail->SMTPDebug  = 2;                      // <<== enables SMTP debug information (for testing)

$mail->IsHTML(true);    // if you are going to send HTML formatted emails
$mail->SingleTo = true; // if you want to send a same email to multiple users. multiple emails will be sent one-by-one.

$mail->From = "wie****@gmail.com";                  //my gmail mail account
$mail->FromName = "My Name";

$mail->addAddress("art******@yahoo.com","art******"); //my yahoo mail account
//$mail->addAddress("user.2@gmail.com","User 2");

//$mail->addCC("user.3@ymail.com","User 3");
//$mail->addBCC("user.4@in.com","User 4");

$mail->Subject = "Testing PHPMailer with localhost";
$mail->Body = "Hi,<br /><br />This system is working perfectly.";

if(!$mail->Send())
    echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo;
else
    echo "Message has been sent";
?>

ネットで見つけたバリエーションをすでに試していますが、何も機能しません。

'PHPMailerAutoload.php' と 'class.phpmailer.php' を必要なクラスとして使用してみました - “$mail->SMTPSecure = 'ssl';” そして「$mail->Port = 465;」同様に - 「$mail->SMTPSecure = 'tls';」および「$mail->Port = 587;」</p>

デバッグ ログ ファイルは次のとおりです。

ポート 587 で TLS を使用する場合のデバッグ ログ

SMTP -> サーバーから:220 mx.google.com ESMTP cq6sm24503844pad.30 - gsmtp SMTP -> サーバーから: 250-mx.google.com [121.54.112.183] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 SMTP -> FROM SERVER:220 2.0.0 TLS SMTP を開始する準備ができました -> FROM SERVER: 250-mx.google.com [121.54.112.183] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 SMTP -> エラー: パスワードがサーバーから受け入れられません: 534-5.7.14 Web ブラウザーからログインしてください。 534-5.7.14 その後、再試行してください。534-5.7.14 詳細については、534 5.7.14 を ご覧ください https://support.google.com/mail/bin/answer.py?answer=78754 cq6sm24503844pad.30 - gsmtp SMTP -> FROM SERVER:250 2.1.5 フラッシュ cq6sm24503844pad.30 - gsmtp SMTP -> FROM SERVER:530-5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtp SMTP -> エラー: メールがサーバーから受け入れられませんでした: 530-5.5.1 認証必須。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 をご覧ください - gsmtp 次の差出人アドレスに失敗しました: wiedeia@gmail.com : メールがサーバーから受け入れられませんでした,530,5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtpをご覧ください。

SMTP サーバー エラー: 5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 をご覧ください - gsmtp メッセージが送信されませんでした PHPMailer エラー: 次の差出人アドレスに失敗しました: wiedeia@gmail。 com : サーバーからのメールが受け付けられません,530,5.5.1 認証が必要です. 詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtpをご覧ください。

SMTP サーバー エラー: 5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtpをご覧ください。

SMTP サーバー エラー: 5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtpをご覧ください。

ポート 465 で SSL を使用する場合のデバッグ ログ

SMTP -> サーバーから:220 mx.google.com ESMTP kj9sm24304154pbc.37 - gsmtp SMTP -> サーバーから: 250-mx.google.com [121.54.112.183] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 SMTP -> エラー: パスワードがサーバーから受け入れられません: 534-5.7.14 Web ブラウザーからログインし、534-5.7.14 を試してください。また。534-5.7.14 534 5.7.14 で詳細を確認して ください https://support.google.com/mail/bin/answer.py?answer=78754 kj9sm24304154pbc.37 - gsmtp SMTP -> FROM SERVER:250 2.1.5 フラッシュされた kj9sm24304154pbc .37 - gsmtp SMTP -> サーバーから:530-5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257をご覧ください。 kj9sm24304154pbc.37 - gsmtp SMTP -> エラー: メールがサーバーから受け入れられません: 530-5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtp で次の差出人アドレスに失敗しました: wiedeia@gmail.com : メールがサーバーから受け入れられませんでした,530,5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtpをご覧ください。

SMTP サーバー エラー: 5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 をご覧ください - gsmtp メッセージが送信されませんでした PHPMailer エラー: 次の差出人アドレスに失敗しました: wiedeia@gmail。 com : サーバーからのメールが受け付けられません,530,5.5.1 認証が必要です. 詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtpをご覧ください。

SMTP サーバー エラー: 5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtpをご覧ください。

SMTP サーバー エラー: 5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtpをご覧ください。

gmailがデバッグで提供しているリンクを確認しました。しかし、何も機能しません。ユーザーとパスワードの同じ情報を使用して Web 上のアカウントにログインすると、機能します。

また、ネットで見つけたアドバイスに従い、安全性の低いアプリを許可しました。また、リンクhttps://accounts.google.com/DisplayUnlockCaptchaを使用して、Google で自分のアカウントへのアクセスを許可しました。

次に、ポートスキャナーでポートを確認しましたが、両方のポートが閉じていると記載されています。しかし、アプリケーションから要求されたときに開かれると思います。telnet smtp.gmail.com でのチェックは成功しました。

ウイルス対策とファイアウォールを実行せずにスクリプトも試しましたが、結果はありませんでした。

ゆっくりとゆっくりと、私はこの問題に少し腹を立てています。誰かがここで私を助けることができるかもしれません。

アンドレアス

4

1 に答える 1

0

アーサー、正確な詳細を知らずに答えるのは難しい. つまり、2 要素認証を有効にしている場合は、電子メール アカウントのパスワードの代わりに使用するアプリケーション固有のパスワードを設定する必要があります。

次の手順に従って、アプリケーション固有のパスワードを生成できます: https://support.google.com/accounts/answer/185833

次に、$mail->Password をアプリケーション固有のパスワードに設定します。

ランダムな回避策: 場合によっては、一部のアカウントで 2 段階認証を有効にする必要があります (その背後にある正しい理由はわかりませんでしたが、これは一部のアカウントで機能します)。

しかし、外部から、これをトラブルシューティングするためのヒントがいくつかあります: 1) もう一度確認してください [あなたは U が確認したと言った] PHP で SSL が正しく構成されている (それを処理するモジュールは、デフォルトでは PHP にインストールされていません。構成を確認する必要があります。 php.ini)。2) ファイアウォールが必要なポート (ここでは 465 または 587) への発信を許可しているかどうかを確認します。そのためには、telnet を使用します。ポートが開かれていない場合は、構成をセットアップするために sysdmin からのサポートが必要になります。3) このhttps://support.google.com/mail/answer/14257?hl=enを開き、[指示に従ってください] を選択します。Google サーバーは未知のサーバーからの試みをブロックするため、キャプチャをクリックするとすべて問題ありません。

早く解決してほしいです!

于 2014-12-04T06:17:54.547 に答える