我有一个运行的sendmail服务器,目前只接受发送来自localhost的邮件。 所有事情都伪装成@mywebsite.com
,DKIM SPF MX和Alogging绑定到服务器。
我已经在服务器上安装了dovecot IMAP,以便从家中的计算机访问服务器上收到的邮件。
我想能够从我的家用电脑发送邮件到我的sendmail服务器作为一个sendmail服务器用户。 (smtp发件箱)
但是我需要用密码保护这个用户,以避免成为垃圾邮件中继。
我希望我的邮件通过服务器运行,以享受DKIM SPF MX和A Record。
已经build立的VPNbuild议没有问题,但是sendmail能够在应用层处理这个问题。
如果你想这样做,有两个部分:设置sendmail,以便它支持TLS(encryption),并设置sendmail,以便它支持SMTP-AUTH中继(它允许通过encryption的SMTP通道进行身份validation),以及告诉sendmail允许从已经authentication的客户端进行中继)。
对于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
您还需要创build(自签名)证书和密钥文件; 网上有很多关于这样做的教程,所以我不打算在这里再次回顾一下。
对于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进行身份validation相同的凭据进行login,sendmail随即乐意接收我的电子邮件。