news 2026/6/25 4:10:03

如何在 Sendmail 中配置外部 SMTP 中继发送邮件 ?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何在 Sendmail 中配置外部 SMTP 中继发送邮件 ?

Sendmail 是一个开源邮件传输代理(MTA),它提供了一种有效的方式来管理和传输电子邮件。然而,对于需要发送大量电子邮件的组织来说,仅仅依靠 Sendmail 可能是不够的。这就是通过外部 SMTP 服务器转发电子邮件的用处所在。本文将逐步指导如何配置 Sendmail 以通过外部 SMTP 服务器转发电子邮件。

必备条件

在开始配置之前,需要准备以下信息:

  • 外部 SMTP 服务器的主机名或 IP 地址
  • 外部 SMTP 服务器使用的端口号(通常为 25, 587 或 465)
  • 登录到外部 SMTP 服务器所需的身份验证凭证(用户名和密码)

Step 1: 安装 Sendmail

如果您的系统上还没有安装 SendMail,则可以按照以下步骤安装它:

On an RHEL-based system (Fedora / CentOS)

sudo yum install sendmail sendmail-cf

On a Debian-based system (Ubuntu / Debian)

sudo apt install sendmail sendmail-cf

Step 2: 创建 SMTP 凭证文件

/etc/mail目录中创建一个名为“smtp-auth-creds”的文件。

sudo nano /etc/mail/smtp-auth-creds

将以下行添加到文件中,将 username 替换为您的用户名,将 password 替换为您的密码

AuthInfo:smtp.example.com "U:username" "P:password" "M:PLAIN"

保存文件并退出,将 smtp-auth-creds 文件编译到 sendmail 中

makemap hash /etc/mail/smtp-auth-creds < /etc/mail/smtp-auth-creds

Step 3: 修改 sendmail.mc 文件

修改sendmail.mc文件以通过外部 SMTP 服务器配置电子邮件中继。

sudo nano /etc/mail/sendmail.mc

配置 SMART_HOST 到中继服务器,例如:通过 Gmail SMTP 发送邮件,则设置为smtp.gmail.com

define(`SMART_HOST', `smtp.example.com')dnl

在上面一行之后,添加更多的配置,如 SMTP 凭据,SMTP 端口等。

define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl FEATURE(`authinfo', `hash -o /etc/mail/smtp-auth-creds.db')dnl define(`confAUTH_OPTIONS', `A p')dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

保存文件并关闭文本编辑器。

Step 4: 生成 sendmail.cf 文件

sendmail.mc文件用于生成sendmail.cf文件,Sendmail 使用它来确定其配置。要生成sendmail.cf文件,请使用以下命令:

sudo make -C /etc/mail

然后重新启动 sendmail 服务以应用更改

systemctl restart sendmail

Step 5: 验证 sendmail 设置

要验证配置是否按预期工作,可以使用 sendmail 发送测试电子邮件

echo "This is a test email" | sendmail recipient@example.com

如果一切配置正确,您应该在收件箱中收到测试电子邮件。

我的开源项目

  • course-tencent-cloud(酷瓜云课堂 - gitee仓库)
  • course-tencent-cloud(酷瓜云课堂 - github仓库)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 18:06:44

PHPBrew自定义任务开发实战:从入门到精通

想要让PHPBrew真正成为你的专属开发利器吗&#xff1f;自定义任务就是那把钥匙。通过它&#xff0c;你可以让PHP环境管理变得随心所欲&#xff0c;不再受限于标准功能。今天我们就来聊聊如何玩转PHPBrew自定义任务开发。 【免费下载链接】agent-framework A framework for buil…

作者头像 李华
网站建设 2026/6/24 8:09:40

PACKAGER.EXE:Windows工具包的终极对象安装包解决方案

PACKAGER.EXE&#xff1a;Windows工具包的终极对象安装包解决方案 【免费下载链接】packager.exe资源下载介绍 PACKAGER.EXE是一款专为微软Windows操作系统设计的实用工具&#xff0c;特别适用于解决Windows XP系统中Word文档内嵌对象无法打开的问题。通过该工具&#xff0c;用…

作者头像 李华
网站建设 2026/6/24 21:35:18

Java:serialVersionUID

serialVersionUID是 Java 中用于序列化机制的一个特殊字段&#xff0c;它是一个 static final long 类型的标识符&#xff0c;用于标识可序列化类的版本。‌ 作用与原理当一个类实现 Serializable 接口时&#xff0c;Java 序列化机制会为该类关联一个版本号&#xff08;即 seri…

作者头像 李华
网站建设 2026/6/22 23:25:54

[特殊字符] 别只盯着跑分!开发者已偷偷爱上 Gemini 3,GPT-5.2 还能用情怀留住他们吗?一场关于钱、效率和生态的血战!

咱们聊点更接地气的&#xff1a;谁才是真正的 AI “印钞机”&#xff1f; 跑分、参数、论文&#xff0c;这些都是给投资人和媒体看的。但对于每天用 API 接口、用 AI 赚钱的开发者和创业公司来说&#xff0c;他们只看三点&#xff1a;性能/价格比&#xff08;性价比&#xff09…

作者头像 李华
网站建设 2026/6/24 14:29:58

手把手教你用 ScreenToGif 录制屏幕并生成 GIF 动图

在写技术文档、提交 Bug 反馈、制作教学视频或分享软件操作技巧时&#xff0c;一张会“动”的 GIF 图往往比千言万语更直观有效。而 ScreenToGif 正是 Windows 平台上最受欢迎的免费、开源、无广告的屏幕录制工具之一&#xff0c;能让你快速将桌面操作录制成高质量 GIF 动图。接…

作者头像 李华
网站建设 2026/6/24 0:06:52

自学嵌入式day29,进程

以下是针对您提供的关于进程的笔记内容的整理和解释。我将以清晰的结构帮助您逐步理解这些操作系统概念。内容基于标准的操作系统知识&#xff0c;确保真实可靠。1. 进程的含义进程是一个程序在执行过程中的动态实体&#xff0c;它涉及内存资源的分配和 CPU 的调度。进程的核心…

作者头像 李华