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

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

导读 SSMTP 是一个非常简单实用的小工具,它可以将 Linux 系统的电子邮件中继到 Office 365、Google 或其它第三方 SMTP 服务器。SSMTP 并不是一套成熟完整的邮件服务器,它只能自动将邮件提交到其它像 Google、腾讯、163、Office 365 这样的 SMTP 服务器。在本文中,我们将介绍如何配置 SSMTP 通过 Office 365 账户发送电子邮件。

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


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

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


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

ssmtp: Cannot open mail.server.com:25

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

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

时间: 2024-12-25 05:58:07

SSMTP—让Linux系统从Office 365发送邮件的相关文章

Linux系统使用mailx命令发送邮件

王占兴 关注 0人评论 2805人阅读 2018-11-01 09:06:21 一.环境核实以及准备. 在centos7系统中默认有安装mailx命令进行系统邮件的发送.如果没有相关的命令可以自行通过yum安装 #yum install mailx -y 使用#ss   -tnl查看25端口是否监听在127.0.0.1上.默认就是监听的. 二.邮件收发命令 1.如何发送mail       1)将文件当做电子邮件的内容送出      语法:mailx -s “主题”用户名@地址< 文件 [[em

用shell脚本监控linux系统 自动发送邮件

此脚本可以做一个定时的检测,超出设定的值,即往邮箱发送警告 脚本用到bc,sendmail,163邮箱, yum install bc #!/bin/bash #System Monitoring Script while [ 1 ] do #本机需开启postfix或sendmail服务. #报警邮件地址设置 [email protected] [email protected] #设置脚本运行间隔时间.单位(秒). RUNTIME=900 #内存使用率监控设置,单位 (%) MEMTHRE=

2019年7月Office 365 for Mac系统 新功能速

Blog 地址:https://blog.51cto.com/13969817 微软于2019年7月在Office 365 Pro (版本16.27.19071500)中 针对Mac系统推送了4个new feature,其中的一个feature,对于使用Mac系统的朋友来说,是非常受用的,提供了很大的协作管理能力. 新功能速递:支持在Mac系统中的Outlook新发电子邮件时共享云附件. 场景分析 默认的情况下,大家在寄送电子邮件时,附件大小是25MB,虽然Office 365管理员可以针对用户

Office 365管理员快速上手手册

邮箱批量迁移 您可以使用 Exchange 管理中心 (EAC) 的迁移主控板将邮箱和邮件内容从内部部署邮件系统迁移到 Exchange Online 和 Office 365 组织中.您可从 Exchange 2013.Exchange 2010.Exchange 2007 和 Exchange 2003 中迁移邮箱和邮箱数据,也可从 IMAP 邮件系统中迁移邮箱数据. 比较迁移类型 现有邮件系统 要迁移的邮箱数 是否要管理内部部署组织中的用户帐户? 迁移类型 Exchange 2013.Ex

好消息Office 365和Exchange 2019将支持EAI地址

微软已经宣布目前Office 365已经支持EAI(email address internationalization)功能.并且明确表示在Exchange server 2019中将支持EAI地址.(具体可以参考:https://blogs.technet.microsoft.com/exchange/2018/02/26/eai-support-announcement-update/)那什么是EAI地址呢?(具体可以参考:https://blogs.technet.microsoft.c

在Linux系统中文件(资源)和用户的管理

一个可执行二进制程序,被加载到内存,被内核调度到CPU上运行,这时候,就表现了一个进程.也可以说进程是程序的一个实例,是程序的动态表现. 在 Linux 系统中进程(process)是有属主的,也就是该进程以哪个用户的身份运行的.大家都知道,程序有输入和输出,也称这为程序IO.如果我们程序数据输入是磁盘.如,Web 服务器,接收用户的请求之后,把网页数据从磁盘中读入加工之后再把数据响应给用户.如果,发起Web 服务进程的用户没有读取该用户请求网页文件的权限.则无法响应用户的请求了.所以,文件(资

微软发布了一系列网络安全新功能(关于Windows和Office 365)

微软在旧金山召开的大规模RSA安全会议中发布了一系列新的网络安全功能,Windows和Office 365的新功能旨在帮助企业实现网络安全. 在Windows前端增加了使用Windows Hello的本地Active Directory功能,并允许Windows 10系统登录.微软还推出了新的工具,通过向企业提供将组织策略迁移到云托管的工具来帮助他们更好的使用移动设备来管理产品.(InfoWorld:你需要正确设置Windows 10组策略.新的操作系统:终极Windows 10 Survivo

第八章 linux系统用户及用户组相关知识

使用较多的技能为增删系统账号.设置修改用户密码.切换账户等. 1. 查看配置文件/etc/shadow第一行中root账号的第三个字段(以':'分隔)中的数字,请算一下这个数字是怎么来的?距离1970年1月1日到上次更改密码的时间的间隔天数.例如root密码日期更改时间为2013年9月1日星期日,那么配置文件/etc/shadow中root的第三个字段为15949,计算如下:15949 = (2013-1970)*365+MOD((2013-1970)/4)+(5*31+2*30+28)+1=1

Linux系统DNS详解(BIND)

一.Linux运维实战之DNS基础    DNS服务作为网络的一种基础架构,在网络中有举足轻重的地位.它担负着整个网络用户计算机的名称解析工作.没有正确的名称解析,服务器就无法识别各客户机.我们在日常进行的浏览网页等上网活动,无一例外都在使用DNS服务.*******************************************************************************    DNS的基本知识:        DNS服务器的组成        DNS域名称