私の要件は次のとおりです
- 端末からメールを送信する(バッチ処理用)
- その電子メールに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:587
VS 465UseTLS=YES
(UseSTARTTLS=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]
添付:
- 説明なしで投票に反対することは見られません。
- 質問(添付ファイル)に記載されている2番目の要件の場合、
mutt
奇跡的に効果的。
2022年12月1日に更新
使っているmsmtp
から安全性の低いアプリ障害のある
- 開いている2段階認証
- 生成するアプリケーションパスワード名前= 'msmtp'を使用
- 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]
$ chmod 600 /home/user/.msmtp
$ echo "Testing...1...2...3" | msmtp recipient.address@domain
この内容はBCCに送信されます。ねえ交換。
答え2
ssmtp放棄されたソフトウェアです。
あなたは試す必要がありますメール転送プロトコル代わりに。似ているように見えますが、ssmtp
よりよく維持され、より多く使用されます。
そしてGmailの設定も非常に簡単です。この素晴らしいリソースをチェックしてくださいアーチスウィキ
答え3
Googleは、「セキュリティレベルの低いアプリを開くことを許可する」オプションを提供しなくなりました。 2022年5月以降、このオプションは削除されます。
オプションアプリケーションパスワード2段階認証を有効にしないと使用できません。
アプリケーションssmtpを追加してトークンを生成し、トークンをアプリケーションパスワード設定に貼り付けます。
トークンをコピーして統合するメールアプリケーションのパスワードとして使用します。
次のアクティベーションIMAPGmailから
注:メールクライアントアプリケーションの設定では、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で私にとって効果的でした。