要在Ubuntu中配置Sendmail以支持SSL,请按照以下步骤操作:
- 安装Sendmail和相关组件:
sudo apt-get update sudo apt-get install sendmail sendmail-cf mailutils
- 生成SSL证书。你可以使用自签名证书或从证书颁发机构(CA)购买证书。这里我们使用自签名证书进行演示:
sudo openssl req -new -x509 -days 365 -nodes -out /etc/mail/certs/sendmail.pem -keyout /etc/mail/certs/sendmail.pem sudo chmod 600 /etc/mail/certs/sendmail.pem
- 编辑Sendmail配置文件
/etc/mail/sendmail.mc
,添加以下内容以启用SSL支持:
sudo nano /etc/mail/sendmail.mc
在文件中找到并取消以下行的注释(删除行首的dnl
):
dnl # DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
然后在该行下面添加以下内容:
DAEMON_OPTIONS(`Port=smtp, Name=MTA, M=Ea')dnl
这将启用SMTPS(端口465)支持。
- 在同一个配置文件中,找到并取消以下行的注释(删除行首的
dnl
):
dnl # DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
然后在该行下面添加以下内容:
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
这将启用STARTTLS支持(端口587)。
-
保存并退出编辑器。
-
重新生成Sendmail配置文件:
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
- 重启Sendmail服务:
sudo service sendmail restart
现在,你的Sendmail服务器已经配置为支持SSL。你可以使用以下命令测试SMTPS(端口465)和STARTTLS(端口587)连接:
echo "Subject: Test Email" | sendmail -v -t -i -f sender@example.com recipient@example.com
请确保将sender@example.com
和recipient@example.com
替换为实际的发件人和收件人电子邮件地址。