我有一个正在运行的 sendmail 服务器,目前只接受从本地主机发送的邮件。所有发出的邮件都伪装成本地主机,@mywebsite.com
并且服务器上绑定了 DKIM SPF MX 和 A 记录。
我已经在服务器上安装了 dovecot IMAP,以便从我家里的计算机访问服务器上收到的邮件。
我希望能够以 sendmail 服务器用户的身份从我的家用计算机向我的 sendmail 服务器发送邮件。(smtp 发件箱)
但我需要用密码保护该用户,以避免成为垃圾邮件中继。
我希望我的邮件通过服务器运行以享受 DKIM SPF MX 和 A 记录。
答案1
已经提出的 VPN 建议没有任何问题,但是 sendmail 能够在应用层处理这个问题。
如果您想这样做,则有两个部分:设置 sendmail 以便它支持 TLS(加密),并设置 sendmail 以便它支持中继后 SMTP-AUTH(允许通过加密的 SMTP 通道进行身份验证,并告诉 sendmail 允许从已通过身份验证的客户端进行中继)。
对于 TLS 支持,你需要在 中添加以下内容sendmail.mc
:
define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
define(`confSERVER_CERT', `/etc/pki/tls/certs/server.crt')dnl
define(`confSERVER_KEY', `/etc/pki/tls/certs/server.key')dnl
您还需要创建(自签名)证书和密钥文件;网上有很多关于如何操作的教程,所以我不建议在这里再重复一遍。
对于 SMTP AUTH 和中继支持,您需要在 中进行以下操作sendmail.mc
:
define(`confAUTH_OPTIONS', `A p y')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
我还发现我需要以下行/etc/sasl2/Sendmail.conf
:
pwcheck_method:saslauthd
并且saslauthd
需要运行。这样我就可以使用与在 dovecot 上进行身份验证时相同的凭据进行登录,然后 sendmail 就可以顺利地转发我的电子邮件了。