centos7 利用mailx发送邮件 原

当需要服务器定时发送邮件到自己邮箱时,一个邮件服务就很重要了,以下主要是mailx的实现,主要是利用

1.安装mailx

yum  install  mailx -y

2.使用到的配置文件只有一个,是/etc/mail.rc,通过修改配置文件/etc/mail.rc可以使用外部SMTP服务器,轻松实现linux发邮件功能。

set from=xxxx@qq.com                                            qq邮箱或者其他邮箱
set smtp=smtp.qq.com                                            smtp地址   
set smtp-auth-user=xxx@qq.com                                   
set smtp-auth-password=nibpgbkksmlbbabe                         注意:目前大部分的外部邮件服务使用第三方客户端时,都需要使用授权码,上面的smtp-auth-password使用的就是授权码,而不是邮件帐号的密码。具体操作在最后有附图    

到目前为止,如果不是云主机的话,已经可以实现发送邮件了。若是云主机,则需要下面的操作

一、配置mailx使用SMTP发送邮件: 1、安装mailx;这里直接使用yum install mailx -y 进行安装即可; 2、在/etc/mail.rc配置文件中,在最后面输入以下内容:

set from="xxx@126.com"
set smtp=smtp.126.com
set smtp-auth-user=xxx
set smtp-auth-password=邮箱密码
set smtp-auth=login 

配置都很简单,这里就不多说了,有两点需要注意的: 1、邮箱需要开启SMTP功能,每个邮箱的开启方法都大同小异; 2、现在大部分邮箱使用SMTP会让你启动一个授权码来代替邮箱密码 具体各个邮箱开启授权码的方式可以直接百度; 测试是否发送成功: mailx -s "邮箱测试" xxxx@qq.com < message_file 测试邮件一旦成功,收件箱会马上收到邮件,如果没有收到,则等一会可以看到shell界面的错误提示; 上面配置的是简单的使用25端口的SMTP发送邮件的功能,一般情况下我们使用这个就足够了,这个办法 在网上也很多配置说明,这里就不再浪费时间了,下面我们讲重点,使用TSL发送邮件; 前面说了,阿里云把25端口封了,去申请解封也比较麻烦,于是就想到了用TSL方式,绕过25端口发送邮件; TSL也就是使用SSL加密的方式,使用465或者其他端口来发送邮件,现在大部分邮箱都支持SSL,具体SSL的端口 地址,也可以查百度,这里是以126邮箱为准,126邮箱使用的是465或者994端口; 下面是详细的配置过程: 1、软件要求:openssl、mailx 12.0以上; 2、既然使用的是SSL协议,那当然是要有证书的了,下面是获取证书的操作;

mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.126.com:465 | sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p‘ > ~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -L -d /root/.certs

按照上面操作,只要不报错,就是正常的,我们会在/root/.certs下面看到几个证书文件,说明操作成功了;至于为什么

要这么做,不要问我,我也是COPY大神的办法;有兴趣的可以参考最后大神的文章链接;

3、证书配置好了,下面我们就要来配置mail.rc配置文件了,和最开始的不同,这里我们就需要配置和TSL相关的东西了

set from=xxxooo@126.com
set smtp=smtps://smtp.126.com:465
set smtp-auth-user=xxxooo@126.com
set smtp-auth-password=你的授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

其实就多了几个配置stmp前面加了stmps://指定协议类型,后面加上端口号;

启动ssl协议 ,下面指定ssl证书所在目录,就这样。 配置OK了之后,测试发送邮件; 测试能收到邮件就OK,说明发送没问题,至于具体会出现什么报错,可以根据报错的内容进行谷歌; 我这里在发送邮件的时候会提示一个证书不信任的问题,因为不影响正常发送邮件,所以选择忽略;

证书不信任的问题,需要进入存放证书的目录,执行

cd  /root/.certs
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt
最后显示
Notice: Trust flag u is set automatically if the private key is present. 

 后面云主机实现方法      转载自笛声

使用三种方式发送邮件

  • 命令行: mail -s "theme" addressee,回车后输入内容按Ctrl+D发送邮件.
  • 管道符: echo "mail main content" | mail -s "theme" addressee
  • 文件内容作为邮件内容: mail -s "theme" addressee < /tmp/t.txt

thme是邮件标题,addressee收件人地址

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云服务器教程

GPU 云服务器

GPU 云服务器(GPU Cloud Computing,GPU)是基于 GPU 应用的计算服务,具有实时高速的并行计算和浮点计算能力,适应用于 3D 图形应用...

851130
来自专栏优惠券

在腾讯云服务器上如何发布自己的网站

这篇文章教小白怎么在腾讯云服务器上如何发布自己的网站,做一个自己的网站很简单,做一个好站很难

2.7K50
来自专栏雪胖纸的玩蛇日常

超越村后端开发(6:上线部署到服务器(上))

默认的python环境是python2.7,安装了python3的版本是python3.6

13130
来自专栏阿dai_linux

硬盘故障修复 原

近期公司一台服务器的磁盘告警“磁盘阵列错误”,经检查发现磁盘:“PD0/PD1/PD2 硬盘Medium Error DevId 并BadStripe PD0 ...

13220
来自专栏用户1337634的专栏

SSH高级功能 - 远程端口转发

在本地端口的场景中,可以从Server-B建立到Server-A的SSH连接,但是如果Server-B到Server-A之间无法连接,只有Server-A到Se...

26820
来自专栏云上

腾讯云服务器 如何处理网站高并发流量问题?(含教程)

很多平台一旦做大了,平台的流量就会陡增,同时并发访问的流量也会暴增,原本规划的硬件配置就无法满足当下的流量问题。

2.9K30
来自专栏云服务器教程

腾讯云拼团

老用户(团长):购买过本活动拼团AMD服务器且产品在有效期内的个人用户,每人限购1次

70380
来自专栏轻松上云

重装系统扩容

用户背景 :文件储存在系统盘,想扩容需要重装系统,想知道如何备份和恢复当前系统盘数据。

63940
来自专栏云服务器教程

云服务器如何搭建Discuz! 论坛

CrossdayDiscuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来,Di...

1K70
来自专栏最新优惠活动整理

腾讯云9.9服务器,9.9元云服务器怎么申请

现在云服务商对学生都是很优惠的,腾讯云也推出了9.9元购买云服务器的优惠活动,是一款固定的优惠套餐,包含特价云服务器、域名(加钱可选)、免费对象存储空间(6个月...

1.3K30

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励