使用 587 或 465 端口自建 SMTP 服务,可以通过配置 Postfix 或其他邮件服务器实现。以下是以 Postfix 为例的完整搭建和配置步骤。
步骤 1:安装 Postfix
在 Linux 服务器上安装 Postfix:
sudo apt update
sudo apt install postfix
在安装过程中选择以下选项:
- Postfix 配置类型:选择“Internet Site”。
- 系统邮件名称:输入你的域名,例如
example.com
。
步骤 2:配置 Postfix 使用 587 或 465 端口
编辑 Postfix 的主配置文件 /etc/postfix/main.cf
:
sudo nano /etc/postfix/main.cf
添加或修改以下设置:
# 基础设置
myhostname = mail.example.com # 设置主机名
mydomain = example.com # 设置邮件域名
myorigin = $mydomain # 邮件发件地址的默认域名
inet_interfaces = all # 监听所有网络接口
inet_protocols = ipv4 # 仅启用 IPv4(如果需要 IPv6,可设置为 "all")
# TLS 加密
smtpd_tls_cert_file=/etc/ssl/certs/your_cert.pem # SSL 证书路径
smtpd_tls_key_file=/etc/ssl/private/your_key.pem # SSL 私钥路径
smtpd_tls_security_level=may # 允许 TLS 安全连接
smtpd_tls_auth_only=yes # 仅支持加密认证
smtpd_use_tls=yes
# 允许的连接端口
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
可选:启用 SMTPS(465 端口)
如果需要支持 465 端口,在 /etc/postfix/master.cf
中添加以下内容:
smtps inet n - n - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
步骤 3:安装并配置 SASL 认证
-
安装 SASL:
sudo apt install libsasl2-modules sasl2-bin
-
编辑
/etc/postfix/sasl/smtpd.conf
:sudo nano /etc/postfix/sasl/smtpd.conf
添加以下内容:
pwcheck_method = saslauthd mech_list = plain login
-
启用并启动 SASL 服务:
sudo systemctl enable saslauthd sudo systemctl start saslauthd
-
将 Postfix 添加到 SASL 组:
sudo adduser postfix sasl
步骤 4:生成 SSL 证书
如果没有 SSL 证书,可以使用 Let’s Encrypt 或自签名证书:
使用 Let’s Encrypt
sudo apt install certbot python3-certbot-apache
sudo certbot certonly --standalone -d mail.example.com
证书路径通常为:
- 证书:
/etc/letsencrypt/live/mail.example.com/fullchain.pem
- 私钥:
/etc/letsencrypt/live/mail.example.com/privkey.pem
步骤 5:重启服务
完成配置后,重启 Postfix 和 SASL 服务:
sudo systemctl restart postfix
sudo systemctl restart saslauthd
步骤 6:测试 SMTP 服务
使用工具(如 telnet
或 openssl s_client
)测试 SMTP 服务:
测试 587 端口
openssl s_client -starttls smtp -connect mail.example.com:587
测试 465 端口
openssl s_client -connect mail.example.com:465
输入以下命令以验证是否可以正常发送邮件:
EHLO mail.example.com
AUTH LOGIN
(输入 Base64 编码的用户名和密码)
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
Subject: Test Mail
This is a test mail.
.
QUIT
步骤 7:配置邮件客户端
在邮件客户端中配置以下 SMTP 信息:
- SMTP 服务器:
mail.example.com
- 端口:587(或 465)
- 加密:STARTTLS(587)或 SSL/TLS(465)
- 用户名:完整的邮箱地址(例如
[email protected]
) - 密码:对应邮箱的密码
注意事项
-
DNS 记录设置:
- 配置
MX
记录:mail.example.com
- 配置
SPF
记录:v=spf1 mx -all
- 配置
DKIM
和DMARC
记录以提高邮件可靠性。
- 配置
-
端口限制:
- 确保 587 和 465 端口在防火墙或云服务平台上已开放。
-
调试问题: 查看 Postfix 日志以诊断问题:
sudo tail -f /var/log/mail.log
© 版权声明
THE END
暂无评论内容