我一直尝试使用 msmtp 发送邮件,但没有成功
配置文件: ~/.msmtprc
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-bundle.crt
logfile ~/.msmtp.log
account iisr
host smtp.yandex.com
port 465
user [email protected]
from [email protected]
password ********
当使用命令进行测试时,没有任何结果,日志文件中也没有,echo "hello there username." | msmtp -a iisr [email protected]
使用下面答案中的@Andrezj 的脚本,我得到以下输出并且保持如下状态:
ignoring system configuration file /etc/msmtprc: No such file or directory
loaded user configuration file /home/bakenoor/.msmtprc
using account iisr from /home/bakenoor/.msmtprc
host = smtp.yandex.com
port = 465
timeout = off
protocol = smtp
domain = localhost
auth = choose
user = [email protected]
password = *
passwordeval = (not set)
ntlmdomain = (not set)
tls = on
tls_starttls = on
tls_trust_file = /etc/ssl/certs/ca-bundle.crt
tls_crl_file = (not set)
tls_fingerprint = (not set)
tls_key_file = (not set)
tls_cert_file = (not set)
tls_certcheck = on
tls_force_sslv3 = off
tls_min_dh_prime_bits = (not set)
tls_priorities = (not set)
auto_from = off
maildomain = (not set)
from = [email protected]
dsn_notify = (not set)
dsn_return = (not set)
keepbcc = off
logfile = /home/bakenoor/.msmtp.log
syslog = (not set)
aliases = (not set)
reading recipients from the command line and the mail
知道为什么邮件没有被发送吗?
答案1
配置
对于 SMTP 端口 465,确保启动 TLS 选项为离开在$HOME/.msmtprc
文件中:
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /tmp/msmtp.log
account ACCOUNT
host mail.host.com
port 465
from [email protected]
user [email protected]
password PASSWORD
tls_starttls off
account default : ACCOUNT
还要确保文件权限仅限于用户:
chmod 600 $HOME/.msmtprc
调试 msmtp 邮件发送
使用以下测试脚本获取 SMTP 会话的完整记录
#!/bin/sh
# msmtp specific options
# -d : debug
# -a : account name
# sendmail compatibility options
# -i : ignored for sendmail capability
# -t : Read recipient addresses from the To, Cc, and Bcc headers
msmtp -d -a iisr -i -t <<END
From: [email protected]
To: [email protected]
Subject: test
test
END
有关的
有关详细信息,请参阅以下内容:
答案2
在防火墙后面的 CentOS 7.3 上,我的 /etc/msmtprc:
defaults
logfile /var/log/msmtp.log
domain localhost
auth on
port 465
host smtp.gmail.com
tls on
tls_starttls off
auth on
tls_trust_file /etc/ssl/certs/ca-bundle.crt
# gmail account
account workflow
user *[email protected]*
from *[email protected]*
password *mypassword*
# set default account to use
account default : workflow