多语言展示
当前在线:1709今日阅读:75今日分享:44

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

SSMTP 是一个非常简单实用的小工具,它可以将 Linux 系统的电子邮件中继到 Office 365、Google 或其它第三方 SMTP 服务器。想要了解更多关于windows,linux的知识可以去《linux就该这么学》看看。SSMTP 并不是一套成熟完整的邮件服务器,它只能自动将邮件提交到其它像 Google、腾讯、163、Office 365 这样的 SMTP 服务器。在本文中,我们将介绍如何配置 SSMTP 通过 Office 365 账户发送电子邮件。
工具/原料

一台安装linux系统的电脑

方法/步骤
1

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

2

安装SSMTPSSMTP 安装非常简单,很多 Linux 源中都有提供,基于 RHEL 的 Linux 发行版(RHEL/CentOS/Fedora)可以使用如下命令安装:yum install ssmtpUbuntu 和 Debian 服务器可以使用如下命令安装:sudo apt-get install ssmtp安装完成后所有配置文件都会写入到/etc/ssmtp/目录当中。

3

使用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 服务随系统启动哦,最好还是直接卸载掉吧。

4

配置SSMTP使用Office365邮件地址使用 vim 或你喜欢的任意编辑器对 /etc/ssmtp/ssmtp.conf 文件进行编辑,我们以 Office 365 的 SMTP 服务器为例,如果你使用其它 SMTP 请自行按服务商的官方文档进行修改:root=admin@sysgeek.cn mailhub=smtp.office365.com:587 AuthUser=admin@sysgeek.cn AuthPass=XXXXX UseTLS=YES UseSTARTTLS=YES FromLineOverride=YES RewriteDomain:sysgeek.cn

5

配置文件修改并保存好之后我们就可以用上 Office 365 提供的可靠邮件服务了,现在先用如下命令先发个测试邮件来看看:echo 'This is a test e-mail' | mail -s 'Test Email' XXXX@qq.com

6

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

注意事项

注意步骤和输入

推荐信息