SSMTP—让Linux系统从Office 365发送邮件

admin2个月前笔记45

image.png

SSMTP如何工作

在正式安装和配置之前,我们先简要介绍下 SSMTP 是如何工作的。SSMTP 可以被安装到任意 Linux 系统当中,一旦配置完成,所有来自 root、nobody 或其它应用程序发送的邮件都可以通过 SSMTP 进行转发。我们也可以配置 PHP、Python,、Ruby 等应用程序的邮件都使用该程序进行转发。简而言之,你可以将 SSMTP 理解为 Linux 中的 Mailhub。

在 Mailhub 中可以配置和指定 Gmail SMTP 服务器或 Microsof Office365 SMTP 服务器地址,一旦为其指定好服务器和电子邮件地址,它便可以直接通过云服务发送邮件。

安装SSMTP

SSMTP 安装非常简单,很多 Linux 源中都有提供,基于 RHEL 的 Linux 发行版(RHEL/CentOS/Fedora)可以使用如下命令安装:

yum install ssmtp

Ubuntu 和 Debian 服务器可以使用如下命令安装:

sudo apt-get install ssmtp

安装完成后所有配置文件都会写入到/etc/ssmtp/目录当中。

使用SSMTP替代sendmail/postfix

一般情况下,很多 Linux 发行版都使用 Sendmail 或 Postfix 作为默认了电子邮件系统,我们之所以使用 SSMTP 就是为了使用外部 SMTP 中继,因此要将 SSMTP 配置为系统默认,首先就得停用 sendmail 或 postfix 服务。

systemctl stop sendmail
systemctl stop postfix

如果你使用较早版本 Linux,可以使用如下命令停用服务:

service sendmail stop
service postfix stop

注意:还需停止 sendmail 或 postfix 服务随系统启动哦,最好还是直接卸载掉吧。

配置SSMTP使用Office365邮件地址

使用 vim 或你喜欢的任意编辑器对 /etc/ssmtp/ssmtp.conf 文件进行编辑,我们以 Office 365 的 SMTP 服务器为例,如果你使用其它 SMTP 请自行按服务商的官方文档进行修改:

[email protected]
mailhub=smtp.office365.com:587
[email protected]
AuthPass=XXXXX
UseTLS=YES
UseSTARTTLS=YES
FromLineOverride=YES
RewriteDomain:sysgeek.cn

image.png配置文件修改并保存好之后我们就可以用上 Office 365 提供的可靠邮件服务了,现在先用如下命令先发个测试邮件来看看:

echo "This is a test e-mail" | mail -s "Test Email" [email protected]

image.png如果你在发送测试邮件时遇到类似如下提示:

ssmtp: Cannot open mail.server.com:25

那是因为 ssmtp 默认会尝试使用标准的 SMTP 25 端口去连接邮件服务器,如果你所使用的 SMTP 中继像 Gmail 或 Office 365 这样采用了 TLS 加密的非标准端口,还需要到 /etc/ssmtp/revaliases 配置文件中对发件人、服务器地址和端口进行指明:
image.png


相关文章

MySQL 8 主从延迟监控

MySQL 8 主从延迟监控

我们中的许多老 MySQL DBA 都会使用 SHOW REPLICA STATUS 中Seconds_Behind_Source 来查找(异步)复制的状态和监控延迟。请注意新术语,以前的版本中我们执...

如何从 SQL Server 为 MySQL 服务器配置链接服务器

如何从 SQL Server 为 MySQL 服务器配置链接服务器

一、概述链接服务器是 SQL Server 可以通过直接 T-SQL 查询与另一个 ODBC 兼容数据库(例如另一个 SQL Server 实例或 Oracle 数据库)对话的一种方法。SQL Ser...

凭什么说密钥比密码更好

凭什么说密钥比密码更好

密码已成为过去,密钥才是未来。也许人们已经有过这种感觉,或者已经想象过了。当意识到刚刚把登录证书输入了一个假网站的那一刻,你会感到恐慌。也许你马上就意识到了。又或者你在第二天返回后无法登录时才意识到这...

允许远程连接到MySQL数据库服务器的步骤

允许远程连接到MySQL数据库服务器的步骤

默认情况下,MySQL服务器仅侦听来自localhost的连接,这意味着只能由运行在同一主机上的应用程序访问它。但在某些情况下,有必要允许远程连接。比如你想要从本地系统连接到远程MySQL服务器,或者...

看完这篇文章,你就已经学会了Git仓库技术

看完这篇文章,你就已经学会了Git仓库技术

虽然 Git 确实是被许多重要软件选作版本控制工具,但是并不是仅能用于这些重要软件;它也能管理你购物清单(如果它们对你来说很重要的话,当然可以了!)、你的配置文件、周报或日记、项目进展日志、甚至源代码...

Linux压缩好帮手bzip2

Linux压缩好帮手bzip2

Linux 中有几个文件压缩和解压缩工具,比如gzip、7-zip、Lrzip、PeaZip 等等。本篇教程中,我们将介绍如何在 Linux 中使用 bzip2 工具压缩及解压缩.bz2文件...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。