我想在用户在 Debian 9 服务器上进行身份验证时发送邮件。我使用 OVH 邮件服务器。我已按如下方式设置 msmtp:
account myaccount
tls_starttls off
logfile ~/.msmtp.log
host ssl0.ovh.net
port 465
from [email protected]
auth on
user [email protected]
password XXXXXXXXXXXXXXXX
account default : myaccount
我尝试发送一封邮件:
echo "Hello this is sending email using msmtp" | msmtp [email protected]
但没有起作用,什么也没有发生。命令也是一样:
msmtp --serverinfo --tls --tls-certcheck=off --host ssl0.ovh.net --port 465
编辑1
我尝试了@Anfi 在评论中提出的命令,得到了:
-bash: subject:: command not found
ignoring system configuration file /etc/msmtprc: No such file or directory
loaded user configuration file /home/myuser/.msmtprc
falling back to default account
using account default from /home/myuser/.msmtprc
host = ssl0.ovh.net
port = 465
proxy host = (not set)
proxy port = 0
timeout = off
protocol = smtp
domain = localhost
auth = choose
user = [email protected]
password = *
passwordeval = (not set)
ntlmdomain = (not set)
tls = off
tls_starttls = off
tls_trust_file = (not set)
tls_crl_file = (not set)
tls_fingerprint = (not set)
tls_key_file = (not set)
tls_cert_file = (not set)
tls_certcheck = on
tls_min_dh_prime_bits = (not set)
tls_priorities = (not set)
auto_from = off
maildomain = (not set)
from = [email protected]
add_missing_from_header = on
add_missing_date_header = on
remove_bcc_headers = on
dsn_notify = (not set)
dsn_return = (not set)
logfile = /home/myuser/.msmtp.log
syslog = (not set)
aliases = (not set)
reading recipients from the command line
msmtp: the server sent an empty reply
msmtp: could not send mail (account default from /home/myuser/.msmtprc)
答案1
好的,我明白了。我需要将其添加到 conf 文件中:
tls on
tls_certcheck off
邮件有效,但我收到
<-- 250-AUTH LOGIN PLAIN
不确定这是否真的安全
答案2
问题出在tls_starttls
。
您必须禁用认证文件并设置
account MyAccount
tls on
tls_certcheck off
tls_starttls off
host ssl0.ovh.net
port 465
from user@domain
user user@domain
password UserPassword
# Set a default account
account default : MyAccount