我已经在我的树莓派上设置了一个 Linux 网络服务器,现在希望该服务器能够发送电子邮件,而无需配置完整的邮件服务器。
这就是我选择 MTA‘sendmail’的原因,几天来我一直在尝试正确配置它。
在我的里面/etc/mail/sendmail.mc
我添加了以下几行:
define(`SMART_HOST',`[smtp.strato.de]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 465')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 465')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/authinfo/auth.db')dnl
在我的哈希中/etc/mail/authinfo/auth
我有
AuthInfo: "U:root" "I:[email protected]" "P:mypassword"
但是发送这样的测试邮件
echo "Just testing my sendmail relay" | mail -s "Sendmail Relay" [email protected]
没有给我任何错误但仍然没有到达收件人。
让我们检查一下我的/var/log/mail.log
Mar 30 14:35:02 localhost sm-mta[2375]: v2UCKHOT002349: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:14:45, xdelay=00:02:00, mailer=relay, pri=300405, relay=smtp.strato.de. [81.169.145.133], dsn=4.0.0, stat=Deferred: Connection reset by smtp.strato.de.
Mar 30 14:35:02 localhost sm-mta[2375]: v2UAPG9t014829: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=02:09:46, xdelay=00:00:00, mailer=relay, pri=1380405, relay=smtp.strato.de., dsn=4.0.0, stat=Deferred: Connection reset by smtp.strato.de.
Mar 30 14:35:02 localhost sm-mta[2375]: v2UAHJSs014703: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=02:17:43, xdelay=00:00:00, mailer=relay, pri=1470405, relay=smtp.strato.de., dsn=4.0.0, stat=Deferred: Connection reset by smtp.strato.de.
这是什么stat=Deferred: Connection reset by smtp.strato.de.
意思?
我该怎么做才能最终解决我发送电子邮件的问题?
我很感谢任何提示!
答案1
我想我解决了我的问题
- 使用端口 587 代替 465,感谢 Andrzej 的提示
- 指定发件人邮件,因为我的主机 Strato 拒绝未经身份验证的邮件(在我的情况下[电子邮件保护])
因此,使用此命令发送测试邮件有效
mail -s "Some random subject" -a "From: [email protected]" [email protected]
不要忘记按 [ctrl] + [d] 发送最后一封邮件
答案2
关于您的字面问题“smtp.strato.de 重置连接。”意味着远程服务器在能够发送消息之前关闭了 TCP 连接,通常不会发送错误代码或再见消息。
答案3
使用端口 587 (msa) 而不是端口 465 (smtps)。
smtp.strato.de 似乎同时支持两者。