IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> sendmail 使用外部 smtp 服务发送邮件 -> 正文阅读

[系统运维]sendmail 使用外部 smtp 服务发送邮件

linux上,想要让 sendmail使用外部 smtp服务发送邮件,需要完成以下两件事情:

  • 生成 authinfo文件,用于存储登录外部 smtp服务器的用户信息
  • 配置 sendmail.mc文件

1. 生成 authinfo
进入 /etc/mail目录,创建 /etc/mail/authinfo文件,并添加如下内容:

AuthInfo:smtp.domain.cn "U:USERNAME" "P:PASSWORD" "M:PLAIN"

创建 hash map文件

$ makemap hash authinfo < authinfo

执行完上述命令后,可以看到在 /etc/mail目录下生成了一个名为 authinfo.db的二进制文件,后面会将其路径配置在 sendmail.mc文件中。

2. 配置 sendmail.mc文件
还是在 /etc/mail目录下,打开 sendmail.mc文件,进行如下修改:

2.1 取消下面这一行的注释,并配置你自己的外部 smtp服务器地址:
"dnl define(`SMART_HOST', `smtp.your.provider')dnl"
如下所示:

define(`SMART_HOST', `smtp.domain.cn')dnl

在上述配置行下面添加如下几行内容:

define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl

注意: 上面指定的 smtp端口是 587,如果与实际情况不符,应进行更改,比如,改为 25或其他。

2.2 取消下面这几行的注释:

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

2.3 安装 sendmail-cf工具,用于重新生成配置文件

$ yum install -y sendmail-cf

2.4 重新生成配置文件

$ /etc/mail/make

2.5 重启 sendmail服务

$ systemctl restart sendmail

3 邮件发送示例

$ sendmail -f"user@domain.cn" -t
Subject: Hello
From: user@domain.cn
To: person@xxx.cn

This is a test.
.

上面指定了 -f参数,我认为是有必要的,因为从 sendmail的运行日志来看,如果不指定的话,可能会出现外部 smtp服务器无响应的情况。

若在执行上述命令发送邮件时出现卡住的感觉,则需查看 sendmail运行日志来确认问题,如下所示:

$ systemctl status sendmail
● sendmail.service - Sendmail Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/sendmail.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2022-10-26 08:03:45 CST; 6s ago
  Process: 16736 ExecStart=/usr/sbin/sendmail -bd $SENDMAIL_OPTS $SENDMAIL_OPTARG (code=exited, status=0/SUCCESS)
  Process: 16731 ExecStartPre=/etc/mail/make aliases (code=exited, status=0/SUCCESS)
  Process: 16728 ExecStartPre=/etc/mail/make (code=exited, status=0/SUCCESS)
 Main PID: 16745 (sendmail)
    Tasks: 1 (limit: 832684)
   Memory: 8.8M
   CGroup: /system.slice/sendmail.service
           └─16745 sendmail: accepting connections

1026 08:02:45 CentOS-8 systemd[1]: Starting Sendmail Mail Transport Agent...
1026 08:02:45 CentOS-8 sendmail[16736]: My unqualified host name (CentOS-8) unknown; sleeping for retry
1026 08:03:45 CentOS-8 sendmail[16736]: unable to qualify my own domain name (CentOS-8) -- using short name
...

从上述日志中可以发现,sendmail有报错信息,即:

1026 08:02:45 CentOS-8 sendmail[16736]: My unqualified host name (CentOS-8) unknown; sleeping for retry
1026 08:03:45 CentOS-8 sendmail[16736]: unable to qualify my own domain name (CentOS-8) -- using short name

该问题的解决方法是在 /etc/hosts文件中加入主机名 'CentOS-8'的解析配置项,即:

127.0.0.1		localhost.localdomain localhost CentOS-8

参考资料

  1. https://community.webcore.cloud/tutorials/how_to_configure_sendmail_to_use_an_smtp_relay/
  2. https://help.thorntech.com/docs/sftp-gateway-classic/routing-sendmail-through-external-smtp-relay/
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:39:36  更:2022-10-31 12:43:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:43:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码