如何使用sendmail作为本地用户从远程计算机发送邮件并用密码保护

我有一个运行的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随即乐意接收我的电子邮件。