msmtp 빈 "받는 사람" 및 "보낸 사람" 필드 - CLI에서 또는 수동으로 보낼 때 모든 메시지는 대량 메일로 끝납니다.

msmtp 빈 "받는 사람" 및 "보낸 사람" 필드 - CLI에서 또는 수동으로 보낼 때 모든 메시지는 대량 메일로 끝납니다.

다음을 사용하여 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 ..." " 다음 행을 찾으세요).

일반적으로 메일 서버는 그러한 메시지를 기꺼이 받아들이고 많은 사람들이 기꺼이 메시지를 보내겠지만 일부 덜 정교한 회사에서는 이러한 모든 메시지를 실수로 스팸으로 표시합니다. 이 경우 유일한 수단은 다음을 포함하는 것입니다.도착하다:메시지의 필드는 다음으로 파이프됩니다.메일 전송 프로토콜. (유효한 "받는 사람:" 이메일 주소일 필요도 없습니다.)

관련 정보