sSMTPのトラブルシューティング:認証に失敗しました

sSMTPのトラブルシューティング:認証に失敗しました

私の要件は次のとおりです

  • 端末からメールを送信する(バッチ処理用)
  • その電子メールにPDFファイルを添付してください。 (PDFファイルは透かしを除くすべての受信者に同じです。)
  • 返信アドレス指定([Eメール保護])

私は試した「Gmailを介して1行のメッセージを送信する最も簡単な答えはssmtpを使用することです」そして、いくつかのバリエーションを通して、次のようになります。

ノートブック sSMTP[19226]: 認証に失敗しました (535 5.7.8 https://support.google.com/mail/?p=BadCredentialsd13sm3920147qkj.27-gsmtp)

Google設定:

  • IMAPが有効
  • セキュリティレベルの低いアプリケーションの許可がオンになっています。

ssmtp.conf私が試したすべての設定について私はそうしました。ロック解除認証コードの表示直前:

$echo "Testing...1...2...3" | ssmtp [email protected]

見ているスレッドの指定/etc/ssmtp/ssmtp.conf設定方法についてはまだ合意がなされていません。

  • mailhub=smtp.gmail.com:587VS 465
  • UseTLS=YESUseSTARTTLS=Yesまたは両方?)
  • hostname=localhostデフォルトでは、そこに配置されているすべての項目を使用します(私の場合はlaptop)。

誰もがこの問題に対する解決策を提案し、作業中のconfファイル全体を貼り付けることができますか?

請求があります2017年のテーマ、それ:

通常のパスワードでは外部アプリケーションを使用できません。https://security.google.com/settings/security/apppasswords

そうですか? (私はできません)

代替は何ですか?

添付:

  • オペレーティングシステム:Linux Mint 19タラ
  • アップグレード/アップデートの前に新しくインストールしてssmtpをテストしました。
  • 数年前、同じOS(以前のバージョン)を使用して電子メールを送信できました。
  • AuthPassの値が正しいことを確認するには、それを使用してGoogleアカウントに手動でログインします。

答え1

次のGoogle設定を使用してください。

IMAP enabled
Allow less secure apps is ON

解決策は、以下を設定することです。アプリケーションパスワード: ここに画像の説明を入力してください。

メモ: Googleのアプリケーションパスワード設定では、ssmtpを設定するアカウントに対して最初に2段階認証プロセスを有効にする必要があります。

/var/ssmtp/ssmtp.conf:

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
# Modified 06/27/2020:
# mailhub=mail
[email protected]
[email protected]
#AuthPass=[usual gmail pwd] # aint' gonna work
AuthPass=[pwd generated by https://myaccount.google.com/apppasswords]
#UseTLS=YES
#mailhub=smtp.gmail.com:465
UseSTARTTLS=Yes
mailhub=smtp.gmail.com:587

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=laptop

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

ターミナルから:

$echo "Testing...1...2...3" | ssmtp [email protected]

私のGmailボックスで次の内容を受け取りました。 ここに画像の説明を入力してください。

添付:

  1. 説明なしで投票に反対することは見られません。
  2. 質問(添付ファイル)に記載されている2番目の要件の場合、mutt奇跡的に効果的

2022年12月1日に更新

使っているmsmtpから安全性の低いアプリ障害のある

  1. 開いている2段階認証
  2. 生成するアプリケーションパスワード名前= 'msmtp'を使用
  3. 2)を実行し$ touch ~/.msmtprcて使用して、次のように内容を修正します。
    # content of /home/user/.msmtprc
    # do: `$ chmod 600 /home/user/.msmtprc`
    # gmail
    account [email protected]
    host smtp.gmail.com
    port 587
    tls on
    tls_starttls on
    auth on
    user google-name
    from [email protected]
    # https://myaccount.google.com/apppasswords
    password xxxxxxxxxxxxxxxx
    # default account
    account default : [email protected]
  1. $ chmod 600 /home/user/.msmtp
  2. $ echo "Testing...1...2...3" | msmtp recipient.address@domain

この内容はBCCに送信されます。ねえ交換。

答え2

ssmtp放棄されたソフトウェアです。

あなたは試す必要がありますメール転送プロトコル代わりに。似ているように見えますが、ssmtpよりよく維持され、より多く使用されます。

そしてGmailの設定も非常に簡単です。この素晴らしいリソースをチェックしてくださいアーチスウィキ

答え3

Googleは、「セキュリティレベルの低いアプリを開くことを許可する」オプションを提供しなくなりました。 2022年5月以降、このオプションは削除されます。

https://support.google.com/accounts/answer/6010255?hl=zh-CN&utm_source=google-account&utm_medium=profile-less-secure-apps-card

オプションアプリケーションパスワード2段階認証を有効にしないと使用できません。

アプリケーションパスワード

アプリケーションssmtpを追加してトークンを生成し、トークンをアプリケーションパスワード設定に貼り付けます。

アプリケーションコマンド トークンの生成

トークンをコピーして統合するメールアプリケーションのパスワードとして使用します。

トークンのコピー

ここに画像の説明を入力してください。

次のアクティベーションIMAPGmailから

imap_enable

注:メールクライアントアプリケーションの設定では、SSL / TLSオプションとNot STARTTLSを選択する必要があります。

答え4

しかし、問題は、前述のように、認証の問題はssmtpまだ解決できることです。解決策があるここ

以下は、読者のためのソリューションの概要バージョンです。

GoogleでappPasswordを使用/設定

  • まだ有効になっていない場合は、接続する Gmail アカウントで二重認証を有効にします。
  • Googleアカウントでセキュリティを選択してください。 「Googleでログイン」から「アプリパスワード」を選択してください。
  • ここにアプリケーションの説明を入力してください。私は「Ubuntuでssmtp」を使用します。
  • 16桁のアプリケーションパスワードを生成します。受け入れてください!
  • [完了]をクリックします。

今すぐメールを送信するコンピュータでsudo nanoを実行します。/etc/ssmtp/ssmtp.conf

[email protected]
mailhub=smtp.gmail.com:587  
FromLineOverride=YES
[email protected]
AuthPass=myAppPassword  # Note this is the password generated by google 
UseSTARTTLS=YES
UseTLS=YES

明確にすべきことは次のとおりです。 AuthPass新しい16文字のアプリケーションパスワードでなければなりません。Gmail パスワードではありません。

これはUbuntu Server 16.04と18.04 LTSで私にとって効果的でした。

関連情報