直接发送模式配置指南
Go Mail Server 支持直接发送模式,允许系统直接将邮件发送到收件人的邮件服务器,而无需经过中间的SMTP服务器。这种模式可以提高送达率,减少依赖,并可能降低邮件被标记为垃圾邮件的几率。
配置直接发送模式
在 config.json
中添加或修改以下配置:
json
{
// ...其他配置项...
"directDelivery": {
"enabled": true, // 启用直接发送模式
"ehloDomain": "example.com", // 用于EHLO命令的域名,通常是您的域名
"insecureSkipVerify": false, // 是否跳过TLS验证(生产环境建议设为false)
"retryCount": 3 // 发送失败时的重试次数
},
// ...其他配置项...
}
发送流程说明
启用直接发送模式后,邮件处理流程将按照以下顺序进行:
- 查找MX记录:系统解析收件人邮箱域名的MX记录,获取目标邮件服务器地址
- 尝试直接连接:系统尝试连接到目标邮件服务器
- 发送邮件:如果连接成功,直接将邮件发送到目标服务器
- 备选方案:如果直接发送失败,系统会尝试使用配置的SMTP转发方式
- 最终保障:如果所有发送尝试均失败,系统会将邮件保存在本地
直接发送的优势
- 减少依赖:不依赖第三方SMTP服务,提高系统可靠性
- 提高送达率:直接发送可能降低被标记为垃圾邮件的几率
- 配置简单:无需设置和维护SMTP服务器凭据
- 成本效益:无需支付第三方SMTP服务费用
直接发送的注意事项
直接发送邮件虽然有诸多优势,但也有一些注意事项:
IP信誉至关重要:
- 确保您的服务器IP没有被列入黑名单
- 稳定的服务器IP地址更有利于建立良好的发送信誉
- 考虑使用专用IP而非共享IP
DNS配置必不可少:
- 正确配置SPF记录
- 配置DKIM签名(强烈推荐)
- 设置DMARC策略
发送量控制:
- 避免短时间内发送大量邮件
- 使用系统内置的速率限制功能
- 新IP应该从小批量发送开始,逐渐增加
监控送达情况:
- 定期检查发送日志
- 设置邮件退回通知
- 关注垃圾邮件报告
优化直接发送
为了获得最佳的直接发送效果,建议进行以下优化:
启用DKIM签名:
json"dkim": { "enabled": true, "domain": "example.com", "selector": "mail", "privateKeyPath": "keys/example.com/mail.private" }
配置正确的EHLO域名:
ehloDomain
应设置为与您的发件人地址域名匹配的域名- 确保该域名有正确的DNS记录
控制发送频率:
json"rateLimits": { "enabled": true, "maxPerHour": 300, "maxPerDay": 1200 }
仔细监控失败情况:
- 定期检查
emails/failed
目录 - 分析失败原因并进行相应调整
- 定期检查
故障排查
如果直接发送模式遇到问题,可以检查以下几点:
日志中的错误信息:
- 查找与 "尝试直接发送邮件" 相关的日志
- 查看特定域名的MX记录解析是否成功
- 检查连接或认证错误
网络连接问题:
- 确保服务器可以访问外部25端口(许多云服务提供商默认阻止)
- 检查防火墙设置
- 验证DNS服务是否正常工作
DNS配置验证:
- 使用
dig MX example.com
验证MX记录 - 确认SPF记录包含您的发送服务器
- 验证DKIM记录格式是否正确
- 使用
临时禁用直接发送:
- 如果问题无法解决,可以临时禁用直接发送模式
- 将
"enabled": false
设置在directDelivery
配置中 - 系统将回退到使用配置的SMTP转发