导读 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 请自行按服务商的官方文档进行修改:

root=admin@sysgeek.cn
mailhub=smtp.office365.com:587
AuthUser=admin@sysgeek.cn
AuthPass=XXXXX
UseTLS=YES
UseSTARTTLS=YES
FromLineOverride=YES
RewriteDomain:sysgeek.cn


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

echo "This is a test e-mail" | mail -s "Test Email" XXXX@qq.com


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

ssmtp: Cannot open mail.server.com:25

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

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

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

  1. Linux系统下使用 mail 发送邮件

    邮件常常是Linux下监控报警手段之一.Linux下的mail命令可以方便,快速的完成发送邮件.下面以CentOS为例 1.安装: [app@127-0-0-1 ~]# mail -bash: mai ...

  2. 一款开源Office软件---Lotus Symphony在Linux系统下的应用

    点击下载观看试用录像   Linux系统下的办公软件有OpenOffice.永中Office.红旗Red Office.金山Wps Office及StarOffice等,今天我为大家介绍IBM推进军O ...

  3. linux系统定时发送邮件

    Linux Centos7系统下利用自带的mail发送邮件服务 简介 本章分为五部分. 第一部分是基于虚拟机下的CentOS 7环境定时发送邮件: 第二部分是基于在阿里云购买的CentOS 7服务器环 ...

  4. 拥抱开源,Office 365开发迎来新时代

    前言 作为全球最大的开放源代码托管平台,Github在上周迎来了它的十岁生日.自从2008年正式上线以来,Github上面汇聚了数以千万计的开发人员和各种项目,它几乎成为了开源的代名词和风向标,各大软 ...

  5. Office 365平台及其价值主张

    重要提示:<Office 365开发入门指南>视频教程还没有上架,目前会先公开几个小节的文字版本,让大家先睹为快,请大家转发给感兴趣的朋友,敬请留意课程的正式上架和优惠券发放通知. 从今天 ...

  6. 探索 Linux 系统的启动过程

    引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...

  7. Power BI for Office 365 概览

    伴随着数据量的日益增长,通过自服务式的商业智能把数据转换成辅助决策支持的工具,越来越成为迫切的需求.在以前,处理这些数据往往只是IT人员范围内的事,但是通过Power BI for Office 36 ...

  8. Office 365常见问题解答(第一期)

    前不久进行的一次网络调查中,有不少朋友反馈了一些对于Office 365的实际问题,这里集中地做一个解答,请大家参考 1. Office 365的UI样式是否有开源计划 据我所知已经开源了:https ...

  9. Linux系统内存占用90%以上 ?

    问题: [root@dbserver01 zx_epp_db]# free -m total used free shared buffers cached Mem: 15953 14706 1246 ...

随机推荐

  1. struts2类库下载

    struts2开发包下载 到http://struts.apache.org/download.cgi#struts2014下载struts-2.x.x-all.zip,目前最新版为2.1.6.下载完 ...

  2. HDU5875:Function

    题目链接: Function 分析: icpccamp里的方法不会,我用了一个nex[]数组存储当前点ai需要取模的下一个点aj的编号j,如果aj>ai,就不用遍历. 时间为920ms 代码: ...

  3. http协议要点

    概念: HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组 ...

  4. openstack kilo 流量

  5. VS2010 删除空行

    查找内容:^:b*$\n 替换为: 查找范围:当前文档 使用:正则表达式 vs2013 ^\s*(?=\r?$)\n

  6. linux下生成 SSH 公钥,用于GitHub

    ssh-keygen -t rsa -C <email> 参见 https://help.github.com/articles/generating-ssh-keys/ Then add ...

  7. HDOJ_1010 Tempter of the Bone

    http://acm.hdu.edu.cn/showproblem.php?pid=1010 奇偶剪枝:可以把map看成这样: 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 ...

  8. python 前向引用

    即函数调用在函数定义之前 可以这样 def bbb(): print('this is b') aaa() def aaa(): print('this is a') bbb() ---------& ...

  9. F5 负载均衡 相关资源

    F5负载均衡之检查命令的说明http://net.zdnet.com.cn/network_security_zone/2010/0505/1730942.shtml F5培训http://wenku ...

  10. ASP.NET MVC- 解决HTML转码

    在MVC里从Controller发送一段带有HTML的文字到View视图时,MVC是会将这段代码进行转码的. 一.使用MvcHtmlString转HTML转码 如果想不让这段文字进行转码,以HTML的 ...