Ubuntu 22.04中Sendmail自定义SMTP中继配置及测试方法求助
Ubuntu 配置 Sendmail 使用自定义 SMTP 中继及测试方法
一、安装依赖组件
先更新包列表并安装 Sendmail 及配置工具:
sudo apt update sudo apt install sendmail sendmail-cf m4
二、配置 SMTP 中继服务器
- 进入 Sendmail 配置目录:
cd /etc/mail - 添加中继服务器到允许列表:
sudo echo "smtp-relay.brevo.com" >> relay-domains - 编辑主配置文件
sendmail.mc:
添加或修改以下内容,指定中继服务器(若需特定端口如587,用方括号包裹域名可避免MX解析问题):sudo nano sendmail.mc# 设置SMART_HOST为你的中继服务器 define('SMART_HOST', '[smtp-relay.brevo.com]:587')dnl
三、配置中继身份验证(若需要)
如果你的 SMTP 中继(如 Brevo)要求身份验证,按以下步骤配置:
- 创建认证信息文件:
填入你的认证信息,替换占位符:sudo nano authinfoAuthInfo:smtp-relay.brevo.com "U:your-brevo-email" "P:your-brevo-smtp-password" "M:PLAIN"U:你的 Brevo 账号邮箱P:你的 Brevo SMTP 密码或 API 密钥M:认证方式,通常用 PLAIN 或 LOGIN
- 生成认证数据库:
sudo makemap hash authinfo < authinfo - 在
sendmail.mc中启用认证:
打开sendmail.mc,在 SMART_HOST 定义后添加:FEATURE('authinfo', 'hash /etc/mail/authinfo')dnl define('RELAY_MAILER_ARGS', 'TCP $h')dnl define('ESMTP_MAILER_ARGS', 'TCP $h')dnl
四、生效配置并重启服务
- 从
sendmail.mc生成最终配置文件sendmail.cf:sudo m4 sendmail.mc > sendmail.cf - 重启 Sendmail 服务:
sudo systemctl restart sendmail
五、测试邮件发送
方法1:用 sendmail 命令直接发送(带 verbose 日志)
echo "这是测试邮件的正文内容" | sendmail -v your-test-email@example.com
-v参数会输出详细发送过程,便于排查错误。
方法2:用 mail 命令发送
先安装 mailutils(若未安装):
sudo apt install mailutils
发送测试邮件:
echo "测试正文" | mail -s "Sendmail中继测试邮件" your-test-email@example.com
查看发送日志确认状态:
tail -f /var/log/mail.log
如果日志中出现 status=sent,则表示邮件发送成功。
内容的提问来源于stack exchange,提问作者Nope
相关产品推荐
相关产品推荐

