web-dev-qa-db-ja.com

CLI経由でGmailサーバーへのIMAPログインが失敗する

ターミナルでOpenSSLを使用してGmailアカウントに手動でログインしようとしています。しかし、何らかの理由で、パスワードが正しい場合でも、Gmailは私のログインを承認しません。これが私の端末の概要です:

openssl s_client -crlf -connect imap.googlemail.com:993
CONNECTED(00000003)
.......
# Some stuff displayed here
.......
* OK Gimap ready for requests from <my-ip> f75mb26659817ybg
01 login [email protected] password
01 NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)

なぜ失敗するのですか?また、私はこれの初心者であり、これを行うことに非常に興味があります。したがって、これに関するいくつかの記事の提案は素晴らしいでしょう。

自分で関連記事を検索してみましたが、何ページも検索してもできませんでした。

1
Utkarsh Verma

何度か試した後、Gmailは「安全性が低い」ため、基本的なIMAPログインのサポートを終了したように見えました。そのため、認証プロセスにOAuth2を使用することになりました。また、未読のメール数を取得するという私の目標は、後でGmailAPIを使用して達成できることもわかりました。それを実装するために、bashでスクリプトを作成しました。

スクリプトの概要は次のとおりです。

  • 認証情報を作成 GmailAPIにアクセスして必要なスコープを設定したクライアントの場合。

  • これらの資格情報を使用して、ユーザーのアカウントの認証コードを生成します。

    この間、端末はユーザー同意Webページを開き、ユーザーにクライアントを承認するかどうかを尋ねます。承認されると、OAuth2承認コードが指定されたポート(5000を使用)のlocalhostに送信され、=によってキャッチされます。 TCPリスナー。スクリプトは一時的にバックグラウンドで実行され、保存されます。

  • 認証コードが保存されたら、APIアクセストークンを生成し、使用できるようにどこかに保存します。

  • APIにアクセスするには、次のようなcurlリクエストを作成します。

    curl -H "Authorization: Bearer <the access token>" <the request>
    

関連するリンクは次のとおりです。

2
Utkarsh Verma

私のために働きます。必ず 安全性の低いアプリがアカウントにアクセスしないようにしてください ただし、そうしないと、プレーンログイン(ユーザー+パスワード)が機能しない可能性があります。

0
Steffen Ullrich