以下を使用してMSMTPを設定しましたが、CLIから電子メールを送信すると、「受信者」/「送信者」または親コンテンツがないため、ブロックまたはスパムで終わります。ただし、CRONから送信された電子メールの形式は正確です。
sudo apt-get update
sudo apt-get install -y msmtp msmtp-mta
# MSMTPRC Configuration
cat << EOL >/etc/msmtprc
# Set default values for all following accounts.
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp.log
aliases /etc/aliases
# Comcast
account Comcast
host smtp.hmc1.comcast.net
port 587
from USER@COMCAST
user USER@COMCAST
password PWD
account default : Comcast
EOL
# Set Strong Permissions due to Plain Text PWD
sudo chmod 600 /etc/msmtprc
# Configure User Alias
cat << EOL >/etc/aliases
# Example aliases file
# Send root to Joe and Jane
#root: [email protected], [email protected]
# Send everything else to admin
#default: [email protected]
# Send cron to Mark
#cron: [email protected]
#############################
root : [email protected]
EOL
# Needed for Mail Command
cat << EOL >/tmp/testfile
To: [email protected]
From: [email protected]
Subject: E-Mail Setup Script has Completed Successfully
"${HOSTNAME} Has been configued to use msmtp, this program will e-mail all CRON results automatically, but does not suporrt the "mail -s" command
EOL
ベストアンサー1
残念ながら、メール転送プロトコル君には役に立たない到着する:メールクライアントに表示されるフィールドです。これは、あなたが提供したアドレスを使用してメールサーバーとのみ通信します。何らかの理由でメッセージ本文にこれらのアドレスを含めないでください。
この動作は処理方法とは異なります。から:そして日付:デフォルトでは自動的に含まれるフィールド(もっと読む)。
詳細情報表示モードで実行すると、それを直接確認できます(--> 354 Go ahead ...
次の行を検索してください)。
- 比較する
echo "Subject: Test\r\n\r\nMessage contents\r\n" | msmtp -v [email protected]
- そして
echo "To: [email protected]\r\nSubject: Test\r\n\r\nMessage contents\r\n" | msmtp -v [email protected]
通常、メールサーバーはそのようなメッセージを喜んで受け入れ、多くの人が喜んでメッセージを送信しますが、一部のあまり洗練されていない企業では、これらのすべてのメッセージを誤ってスパムとしてマークします。この場合、唯一の手段は以下を含むことです。到着する:メッセージのフィールドは次にパイプされます。メール転送プロトコル。 (有効な「受信者:」Eメールアドレスである必要はありません。)