配置 Sendmail 以通过远程 SMTP 服务器进行中继

2023-10-30

Sendmail 是基于 Unix 的系统上最古老且最流行的邮件传输代理 (MTA) 之一。它具有高度可定制性,这使其成为许多专业人士的首选,但这种灵活性也让它看起来令人畏惧。 Sendmail 的一个关键功能是它能够通过远程 SMTP 服务器中继电子邮件,我们将在此处深入研究。

中继电子邮件是一个过程,其中电子邮件传递通过不同的服务器而不是直接从发件人传递到收件人。这种做法可以帮助优化电子邮件传送流程并克服传送能力问题。

先决条件

在我们开始之前,请确保您具备以下条件:

  1. 访问安装了 Sendmail 的基于 Unix 的系统。
  2. Sudo 或 root 权限修改 Sendmail 配置。
  3. 访问远程 SMTP 服务器凭据,包括主机名、端口和身份验证详细信息。

分步指南

步骤 1:备份您现有的 Sendmail 配置

在对 Sendmail 配置进行任何更改之前,最好先进行备份。这可确保您在出现任何问题时可以恢复设置。为此,请使用以下命令:

sudo cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bak 

步骤2:修改Sendmail配置文件

使用您选择的文本编辑器打开 Sendmail 配置文件 sendmail.mc。在这里,我们使用 Nano:

sudo nano /etc/mail/sendmail.mc 

向下滚动并查找以以下内容开头的行dnl #。紧接着该行之后,插入以下配置,替换smtp.yourprovider.com, user, and password分别使用您的 SMTP 服务器的主机名、您的用户名和密码:

1
2
3
define(`智能主机',`[smtp.yourprovider.com]')dnl
define(`confAUTH_MECHANISMS', `外部 GSSAPI DiGEST-MD5 CRAM-MD5 登录明文')dnl
FEATURE(`authinfo',`哈希-o /etc/mail/authinfo.db')dnl

保存并退出编辑器。

第 3 步:创建 Authinfo 文件

接下来,创建包含 SMTP 服务器身份验证信息的 authinfo 文件:

sudo nano /etc/mail/authinfo 

将以下行添加到authinfo文件,将占位符替换为您的 SMTP 服务器的hostname, username, and password:

1
AuthInfo:smtp.您的提供商.com "U:user" “P:密码”

保存并退出文件。

第 4 步:更新 Authinfo 数据库

保存后authinfo文件,通过运行以下命令更新 authinfo.db 文件:

sudo makemap hash /etc/mail/authinfo < /etc/mail/authinfo 

步骤 5:更新 Sendmail 配置

现在,使用 m4 宏处理器更新 Sendmail 配置:

sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 

第 6 步:重新启动 Sendmail

最后,通过重新启动 Sendmail 服务来应用更改:

sudo service sendmail restart 

测试您的配置

要确认 Sendmail 是否正确配置为中继电子邮件,您可以发送测试电子邮件。操作方法如下:

echo "Subject: Test Mail" | sendmail -v your-email@example.com 

Replace your-email@example.com与您的电子邮件地址。您应该很快就会收到该电子邮件。检查电子邮件标头以验证它是通过您的 SMTP 服务器中继的。

结论

就是这样!您已成功将 Sendmail 配置为通过远程 SMTP 服务器中继电子邮件。请记住,此过程可能会略有不同,具体取决于您的系统和您使用的特定 SMTP 服务器。如果您遇到任何问题,请检查 SMTP 服务器的文档和 Sendmail 日志以获取更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

配置 Sendmail 以通过远程 SMTP 服务器进行中继 的相关文章

随机推荐

  • 汇编指令对应的十六进制表示

    空 nop jmp 32位立即数 jmp a E9 a jmp 内存地址 jmp 0x8d8d3a FF25 0x8d8d3a jmp far 内存地址 jmp far 0x8d8d3a FF2D 0x8d8d3a 直接远跳 jmp 0x8
  • 外键SQL语句的编写

    学习目标 能够写出删除外键约束的SQL语句 1 外键约束作用 外键约束 对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证 数据如果不合法则更新和插入会失败 保证数据的有效性 2 对于已经存在的字段添加外键约束 为cls id字段
  • chatGPT之Python API启用上下文管理

    chatGPT已经爆火一段时间了 我想大多数的开发者都在默默的在开发和测试当中 可能也是因为这个原因所以现在很难找到关于开发中遇到的一些坑或者方法和技巧 为什么别人的机器人能联想之前的语料 而你的却像个每次都只如初见的高冷机器人 我也是参考
  • vue 开发插件二

    接上一篇 vue 开发插件 一 完善插件交互逻辑 插件讲究高度配置化 弹框提示的插件要始终保持一个 并且要保证上一个弹框已经关闭 处理配置参数 定义一个方法来接受弹框内容和配置进行处理参数 并且有默认的参数 同时判断显示隐藏 如果只是传入一
  • QT_QPalette、背景颜色

    catalog 设置主 子widget背景颜色 Obsolete setColor setBrush 设置背景颜色 设置主 子widget背景颜色 this palette setColor QPalette Window QColor r
  • 内部类访问权限

    内部类 一种隐藏和组织代码的模式 1 普通内部类拥有其外围类的所有元素的访问权 没有任何限制 2 静态内部类只能访问外部类的静态成员变量 class Outer static int x static class Inner void te
  • jQuery手记 —— jQuery 中 .attr() .prop() .data() 的区别

    未完待续
  • sed 将文件中的某一列与另一列互换

    使用sed 将文件中的某一列与另一列互换 我们将一个文件中的第1列和第2列互换 其实就是将每行的第1个字符和第2个字符互换 步骤 1 将每行文本拆分为 第1个字符 第2个字符 剩下的所有字符 三个部分 2 然后通过替换操作重排顺序为 2 1
  • WebMvcConfigurer实现跨域请求

    添加一个配置类WebMvcConfiguration 在类上添加 Configuration注解 实现WebMvcConfigurer Configuration public class WebMvcConfiguration imple
  • C#中Replace的用法

    使用sql replace 需要替换的 替换用的字段 var replace hello welcome to New York city Console WriteLine replace var chang replace Replac
  • 书签列表

    我自己的书签列表 guid root title index 0 dateAdded 1638246398224000 lastModified 1693836173694000 id 1 typeCode 2 type text x mo
  • 怎么把计算机上打印任务解除,如何终止打印机任务_如何停止打印机任务-win7之家...

    我们在使用打印的时候 会遇到打印机卡纸或者没纸的情况 但是打印机任务还在继续 是需要把打印任务给停止了 但有些用户还是不会终止打印任务 那么要如何终止打印机任务呢 下面小编给大家分享停止打印机任务的方法步骤 解决方法 方法一 1 右键点击桌
  • LoadRunner获取登录验证码

    原理很简单 用一个请求去刷新认证码返回页面 然后通过关联将返回的图片保存为硬盘的一个文件 然后用ocr去识别这个文件内容 保存结果到txt 最后用LR读这个文本就可以得到认证码 方法都是在网上搜的 但是本人经过实验验证成功了 代码如下 Ac
  • keyError:255 (Python连接数据库时)出错的解决办法:

    用Python连接数据库时的出现错误 解决办法 把pymysql包升级一下就好了 如果是用anaconda安装的Python 则在相应的环境中把pymysql 更新 update 一下
  • 如何在 AWS 实例上设置 WHM 和 cPanel

    WHM cPanel 是广泛用于 Linux 托管环境的基于 Web 的系统管理控制面板 要在AWS环境上使用WHM cPanel 我们将面临正常实例的问题 因此 我们更喜欢在aws中使用VPC 虚拟私有云 来安装WHM和cPanel服务器
  • 如何在 Debian 10 上安装 Google Cloud SDK

    谷歌云SDK提供了一组用于管理 Google Cloud Platform GCP 上托管的资源的工具 Cloud SDK 软件开发工具包 提供 gcloud gsutil 和 nd bq 命令 能够通过终端访问 Google Cloud
  • 如何在 Ubuntu 上安装和配置 Dovecot

    Dovecot 是一款开源 IMAP 和 POP3 电子邮件服务器 因其可靠性 可扩展性和易用性而被广泛使用 POP3 邮局协议 3 和 IMAP 互联网消息访问协议 都是用作消息访问代理的协议 这些协议用于从邮件服务器上的用户收件箱中获取
  • Linux /etc/shadow 文件

    基于 Linux 的系统以其强大的安全措施而闻名 可隔离敏感数据以确保最大限度地减少未经授权的访问 其中一项数据就是用户密码 与某些人的想法相反 这些密码不再以纯文本形式存储 甚至不再存储在 etc passwd 文件中 相反 它们以加密方
  • Ubuntu 18.10 发布、功能及更多

    简介 Ubuntu 开发团队现已开始开发 Ubuntu 18 10 的下一个版本 本文将为您提供有关 Ubuntu 18 10 的所有详细信息 Ubuntu 18 10 Cosmic Cuttlefish Release Date Feat
  • 配置 Sendmail 以通过远程 SMTP 服务器进行中继

    Sendmail 是基于 Unix 的系统上最古老且最流行的邮件传输代理 MTA 之一 它具有高度可定制性 这使其成为许多专业人士的首选 但这种灵活性也让它看起来令人畏惧 Sendmail 的一个关键功能是它能够通过远程 SMTP 服务器中