配置Sendmail SSL加密以发送和接收电子邮件
时间:2020-01-09 10:40:06 来源:igfitidea点击:
问题描述:如何配置Sendmail电子邮件服务器使用SSL加密来发送/接收电子邮件?
我已经获得或收到了所需的有效SSL证书。
它存储在/etc/mail/ssl目录中,如下所示:
SSL密钥和认证文件- /etc/mail/ssl/sendmail.pem
- /etc/mail/ssl/ca-bundle.crt
现在如何在Fedora Core或RHEL或Cent OS下为SSL配置sendmail?
解决方法:Sendmail是一个邮件传输代理(MTA),您需要服务器上的有效SSL证书。
尽管这可能正在消失,但Sendmail仍然是Internet上最受欢迎的MTA。
它的受欢迎程度部分是由于它在Unix操作系统的大多数变体中作为标准MTA的地位。
当您要发送和接收电子邮件时,可以将Sendmail配置为通过安全套接字层(SSL)加密电子邮件。
使用文本编辑器(例如vi)打开sendmail配置文件/etc/mail/sendmail.mc:
# vi /etc/mail/sendmail.mc
现在追加/修改以下指令:
define(`confCACERT_PATH',`/etc/mail/ssl/certs') define(`confCACERT',`/etc/mail/ssl/ca-bundle.crt') define(`confSERVER_CERT',`/etc/mail/ssl/sendmail.pem') define(`confSERVER_KEY',`/etc/mail/ssl/sendmail.pem')
并确保将端口设置为smtps(安全的smtp,即端口465):
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
重新启动sendmail并保护pop3s/imaps
执行以下命令以重新启动sendmail和相关服务:
# /etc/init.d/sendmail restart # chkconfig pop3s on # chkconfig imaps on # /etc/init.d/xinetd restart
pop3s和imaps将从xinetd开始
如何仅在本地生成证书以进行测试?
如果没有证书,则可以在Cent OS/RHEL/Fedora Core上本地生成证书。
执行以下命令:
# cd /usr/share/ssl/certs # make sendmail.pem
现在打开sendmail /etc/mail/sendmail.mc配置文件,并按如下所示追加/修改指令:
define(`confCACERT_PATH',`/usr/share/ssl/certs') define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt') define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem') define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem') DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
如上所述,重新启动sendmail。