web-dev-qa-db-ja.com

msmtp空のTOおよびFROMフィールド-CLIから、または手動で送信すると、すべてのメールがバルクメールになります

次のようにMSMTPを設定しましたが、CLIから電子メールを送信すると、ブロックされるか、TO/FROMなどがないためにスパムになります。ただし、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

enter image description here

4

残念ながら、msmtpは、メールクライアントが表示するTo:フィールドを支援するものではありません。メールサーバーとの通信に指定したアドレスのみを使用します。何らかの理由で、メッセージ本文にそれらのアドレスを含めることはありません。

この動作は、From:およびDate:の処理とは異なります。デフォルトで自動的に含まれるフィールド( 続きを読む )。

これは、冗長モードで実行することで直接確認できます(「--> 354 Go ahead ...」の後の行を探してください)。

一般に、メールサーバーはそのようなメッセージを喜んで受け入れます-そして多くの人も喜んでそれらを配信します-しかし、洗練されていない技術を持つ特定の会社はそのようなメッセージすべてにスパムとして誤ってフラグを立てます。そのような状況では、To:フィールドをmsmtpにパイプされるメッセージに含めることが唯一の手段となる可能性があります。 )。 (有効な宛先:電子メールアドレスである必要はありません。)

3
patricktokeeffe