You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04中Sendmail自定义SMTP中继配置及测试方法求助

Ubuntu 配置 Sendmail 使用自定义 SMTP 中继及测试方法

一、安装依赖组件

先更新包列表并安装 Sendmail 及配置工具:

sudo apt update
sudo apt install sendmail sendmail-cf m4

二、配置 SMTP 中继服务器

  1. 进入 Sendmail 配置目录:
    cd /etc/mail
    
  2. 添加中继服务器到允许列表:
    sudo echo "smtp-relay.brevo.com" >> relay-domains
    
  3. 编辑主配置文件 sendmail.mc:
    sudo nano sendmail.mc
    
    添加或修改以下内容,指定中继服务器(若需特定端口如587,用方括号包裹域名可避免MX解析问题):
    # 设置SMART_HOST为你的中继服务器
    define('SMART_HOST', '[smtp-relay.brevo.com]:587')dnl
    

三、配置中继身份验证(若需要)

如果你的 SMTP 中继(如 Brevo)要求身份验证,按以下步骤配置:

  1. 创建认证信息文件:
    sudo nano authinfo
    
    填入你的认证信息,替换占位符:
    AuthInfo:smtp-relay.brevo.com "U:your-brevo-email" "P:your-brevo-smtp-password" "M:PLAIN"
    
    • U: 你的 Brevo 账号邮箱
    • P: 你的 Brevo SMTP 密码或 API 密钥
    • M: 认证方式,通常用 PLAIN 或 LOGIN
  2. 生成认证数据库:
    sudo makemap hash authinfo < authinfo
    
  3. 在 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
    

四、生效配置并重启服务

  1. 从 sendmail.mc 生成最终配置文件 sendmail.cf:
    sudo m4 sendmail.mc > sendmail.cf
    
  2. 重启 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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:11:07