web-dev-qa-db-ja.com

Googleメールサーバーがブラウザ経由でログインするよう要求するのを避けるにはどうすればよいですか?

Djangoからメールを送信しようとしています。GoogleAppsで設定されたメールを使用し、settings.pyファイルは次のようになります。

EMAIL_Host = 'smtp.gmail.com'
EMAIL_Host_USER = '[email protected]'
EMAIL_Host_PASSWORD = 'password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

次を使用してメールを送信しようとすると:

from Django.core.mail import send_mail

send_mail("Happy new year", "We wish you the best for 3001",
    "[email protected]", ["[email protected]"])

次のエラーが表示されます。

SMTPAuthenticationError: 
(535, '5.7.1 Please log in with your web browser and then try again. 
 Learn more at
 5.7.1 https://support.google.com/mail/bin/answer.py?answer=78754 k2sm758604obl.14')

グラフィカルユーザーインターフェイスのないリモートサーバーで作業しているため、ブラウザからログインすることさえできません。

https://accounts.google.com/DisplayUnlockCaptcha に移動して、[続行]をクリックします。これにより、他のサーバーからのアクセスが許可されます。

41

私はキュウリ/カピバラ/セレニウムのテストで数時間これをいじっていました-保証されたこのエラーを修正する愚かな何かを発見しました

あまりにも身近なエラー:

Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure) (Net::IMAP::NoResponseError)

判明したように、「Allow Less Secure Apps」トグルが2つあり、不明なデバイス/ IMAPからのログインを許可するために変更する必要があります。

ここに1つhttps://myaccount.google.com/security?pli=1#connectedapps (ページの下部)

そしてここに1つhttps://www.google.com/settings/security/lesssecureapps

これらのGODFORSAKEN TOGGLESの両方を変更して、このエラーメッセージを削除する必要があります。

編集:ユーザーMilothicusから( https://stackoverflow.com/users/3538026/milothicus ):myaccount.google.comで、「Sign-in&Security」の下で「Connected apps&sites」を選択します'。これには、「安全性の低いアプリを許可する」オプションもあります。これをオンにすると、サーバーから自動メールを送信できるようになりました。

31
etusm

アカウントにアクセスしようとすると、このリンクで構成されるこのメールが送信されました。 https://www.google.com/settings/security/lesssecureapps

テストを完了したら、オンにしてからオフにすることができます。

13
jasxir

Google Appsサポートから次の応答がありました。

アウトバウンドリレーをオンにする必要があります。これをする:

  1. Google.com/a/yourdomain.comでアカウントにログインします
  2. [設定]タブをクリックし、左側の列で[メール]を選択します。
  3. [アウトバウンドリレー]セクションで、ドメインの外部でホストされている「差出人」アドレスを構成するときに、ユーザーが外部SMTP経由でメールを送信できるようにします。
  4. [変更を保存]をクリックします。

ヘルプリンクも提供しました: http://support.google.com/a/bin/answer.py?hl=ja&answer=176054

アウトバウンドリレーをオンにし、プロキシを使用してWebメールにもう一度ログインした後(@DaniloBargenと@joshcartmeに感謝)、問題は解決しました。アウトバウンドリレーとは何かを説明するリンクを読みましたが、なぜそれが必要なのかよくわかりません(外部SMTPサーバーを使用しているとは思わない)。

これが問題を解決したのかどうかはよく分からないので、確認を得るまで応答を承認済みとしてマークしません。

問題のサーバーへのsshトンネルをセットアップして、自宅のコンピューターからサーバーのIPを使用してgmail Webクライアントにログインできるようにします。おそらくポート80とポート443、おそらく443のみをトンネルする必要があります。Webクライアントを介してログインした後、SMTPAuthenticationErrorにリストされているナレッジベースの記事に従って問題は解決するはずです。

トンネルのセットアップ方法の例を次に示します。 http://www.noah.org/wiki/SSH_tunnel#simple_port_forwarding_.28SSH_tunneling.29

5
joshcartme

オプション#1(これは私のために働いた):

エラーを取得した後Please log in with your web browser and then try again. Learn more etc. Webアプリケーションから電子メールを送信しようとしたときに、ローカルコンピューターからブラウザー経由で電子メールにログインしました。

ログインすると、上部に黄色の通知バーが表示され、外部アプリケーションにメールへのアクセスを許可するかどうかを尋ねられました。これを確認し、Googleは次の10分以内にアプリケーションからアカウントにログインするように要求しました。これにより、アプリケーションがホワイトリストに登録されます。

オプション#2:

オプション1が機能しない場合は、これを試してください: http://www.rocketideas.com/2012/05/gmail-error-password-not-accepted-from-server-solved/

5
finspin

etusmは、安全性の低いアプリを有効にする2つの場所を提供しました。

ここに1つ: https://myaccount.google.com/security?pli=1#connectedapps (ページの下部)

そしてここに1つ: https://www.google.com/settings/security/lesssecureapps

両方ともオンになりましたが、私のヘッドレスサーバーはまだメールを送信できませんでした。 JohnPangのgoogle +勧告に基づいて、安全性の低いアプリへのアクセスを許可する必要がある3番目の場所を見つけました。

myaccount.google.comの[サインインとセキュリティ]で[接続されたアプリとサイト]を選択します。これには、「安全性の低いアプリを許可する」オプションもあります。これをオンにすると、サーバーから自動メールを送信できるようになりました。

4
Milothicus

https://support.google.com/accounts/answer/185833?hl=en で解決策を見つけ、最後に https://security.google.com/settings/ security/apppasswords

ローカルマシンでプロジェクトをテストする場合は、後者のリンクに移動して、「安全性の低いアプリへのアクセス」を有効にする必要があります。

2
1man

上記のすべてが私の場合には役に立ちません(奇妙です)。しかし、このリンクはあなたを助けるかもしれません:

https://security.google.com/settings/security/activity

Google Plusからアクセスできます

  1. Google+を開きます
  2. 上部から[セキュリティ]を選択します
  3. [最近のアクティビティ]で[すべてのイベントを表示]をクリックします
  4. 「異常なアクティビティ」のリストが表示されます
  5. シンガポールからAWSを使用しているため、「アプリケーション/デバイスサインイン試行(防止)シンガポール」と表示されます。
  6. [変更]> [はい、私でした!]をクリックします。
  7. 再試行してください。できた!
1
John Pang

アプリアカウントで2要素認証が有効になっていますか?次に、そのアプリケーションにアプリケーション固有のパスワードを使用する必要がある場合があります。

1
Christer B

現在(私の投稿日を見てください)、Gmailアカウント管理UIには「安全性の低いアプリを許可する」トグルが1つしかありません: https://myaccount.google.com/u/0/security#connectedapps

その後、ローカルコンピューター(MacまたはPC)から動作します。

Amazon EC2(および他のクラウドに配置されたホストが疑われる)からのアクセスを許可するために、Googleのスパマーとの終わりのない戦いに設定する別のフラグがあります: https://accounts.google.com/b/0/DisplayUnlockCaptcha

0