Linux 中计划任务把结果发送到你的邮箱

在生活工做中,咱们会常常写一些任务计划,好比按期检查一下磁盘的使用状况,按期执行一些脚本、指等等,可是Linux系统中的机制是把结果以邮件的形式发送到用户的邮箱里,假如如今你出差了,可是你的计划任务还在公司的电脑上进行着,这个时候你该怎么办呢?接下来我介绍一下怎么用Linux系统给QQ邮箱、163邮箱等等发送邮件,这样的话你的计划任务就会把执行结果发送到你的邮箱里,让你随时随刻对你的主机了如指掌。


本文演示:

  • centos 7
  • qq邮箱

计划任务的书写看我前面的博客,超级详细vim


利用系统的mail(25号端口)服务发送

  1. 编辑/etc/mail.rc,输入下面的配置文件
    set from=设置用哪一个邮箱发送邮件#收到邮件时显示的发件人
    set smtp=smtp.qq.com#邮箱的域名
    set smtp-auth-user=你的QQ邮箱帐号#发邮件的用户名
    set smtp-auth-password=邮箱的POP3/SMTP服务的受权码
    set smtp-auth=login #SMTP的认证方式,默认是login,也能够改为CRAM-MD5或PLAIN方式

    获取邮箱受权码的方式:登录你的邮箱
    Linux 中计划任务把结果发送到你的邮箱
    而后点击帐户
    Linux 中计划任务把结果发送到你的邮箱
    选择开启POP3/SMTP服务
    Linux 中计划任务把结果发送到你的邮箱
    而后获取受权码
    Linux 中计划任务把结果发送到你的邮箱centos

  2. 发送无正文邮件
    mail -vvv -s ”主题" 邮箱地址
  3. 发送有正文邮件
    mail -s "主题"  xxx@qq.com < 文件(邮件正文.txt)
    cat 邮件正文.txt | mail -s 邮件主题  收件地址
    echo "邮件正文" | mail -s 邮件主题  收件地址
  4. 发送带附件邮件
    mail -s "主题"  收件地址  -a 附件 < 文件(邮件正文.txt)

    到这里通常的虚拟机和主机应该都没问题了,可是当我使用阿里云、腾讯云的主机的时候会报错链接超时,通过一番查证和实验发现阿里云和腾讯云的主机把25号端口给封锁,致使链接超时,要想解决这个问题,能够去阿里云和腾讯云的控制台上申请开启25号端口,这样这个问题也就迎刃而解了。可是还有一种安全并且加密的协议在不申请25号端口的状况下完美的解决这个问题,那就是 ssl协议。安全

利用ssl协议发送

  1. 编辑/etc/mail.rc,输入下面的配置文件
    set from=设置用哪一个邮箱发送邮件#收到邮件时显示的发件人
    set smtp="smtps://smtp.qq.com:465"#邮箱的域名及端口号
    set smtp-auth-user=你的QQ邮箱帐号#发邮件的用户名
    set smtp-auth-password=邮箱的POP3/SMTP服务的受权码
    set smtp-auth=login #SMTP的认证方式,默认是login,也能够改为CRAM-MD5或PLAIN方式
    set nss-config-dir=/etc/pki/nssdb   #存放认证证书的地址
    set ssl-verify=ignore
  2. 邮箱发送格式同上

可能遇到问题

  1. mailx的版本过低
    [root@localhost ~]# rpm -qa mailx #查看本身的mailx版本
    mailx-12.5-19.el7.x86_64
    [root@localhost ~]# yum -y install mailx #安装最新版的mailx
  2. 域名解析不成功
    [root@cyn(cyn) ~ ]# echo "今晚约吗?"|mail -vvv -s "真帅" 0011000100@qq.com
    Resolving host /smtp.qq.com . . .Could not resolve host: /smtp.qq.com
    "/root/dead.letter" 11/330
    . . . message not sent.

    解决方法:
    a. 增长dns解析网络

    [root@cyn(cyn) ~ ]# vim /etc/resolv.conf 
    #在本文件中增长一条记录,必须写在第一个,由于这个文件时顺序执行,会解析第一个nameserver,第一个解析不了再去解析下一个
    nameserver 114.114.114.114
    nameserver 100.100.2.136
    nameserver 100.100.2.138
  3. 链接超时
    [root@cyn(cyn) ~ ]# echo "今晚约吗?"|mail -vvv -s "真帅" 0011000100@qq.com
    Resolving host smtp.qq.com . . . done.
    Connecting to 14.17.57.241:465 . . . connected Refused.
    . . . message not sent.

    解决方法:基本上都是网络问题了还有自己防火墙ide

    [root@localhost ~]# iptables -F
    [root@localhost ~]# setenforce 0

网易邮箱也能够,设置方法同QQ邮箱,下面介绍一下获取受权码
登录网易邮箱,点击设置,开启POP3/SMPT服务,点击保存
Linux 中计划任务把结果发送到你的邮箱
点击客户端受权密码,再点击重置密码
Linux 中计划任务把结果发送到你的邮箱
获取受权码
Linux 中计划任务把结果发送到你的邮箱阿里云

可是网易邮箱会把发过去的邮件当成垃圾邮件处理,使用的时候须要注意。加密

相关文章
相关标签/搜索