zoukankan      html  css  js  c++  java
  • Linux 命令详解(十二)Systemd 入门教程:使用定时器发送邮件(mail)

    Systemd 定时器教程:http://www.ruanyifeng.com/blog/2018/03/systemd-timer.html

    一、定时任务

    Systemd 定时任务:每小时发送一封电子邮件

    二、邮件脚本

    mail.sh 内容

    #!/usr/bin/env bash
    
    echo "This is the mail test" | /usr/bin/mail -s "Hi Tinywan" 756684177@qq.com
    

     执行脚本

    1、提示

     Please install an MTA on this system if you want to use sendmail!
    

    2、安装SSMTP服务  

    sudo apt-get install 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使用 QQ 邮件地址

    使用 vim 或你喜欢的任意编辑器对 /etc/ssmtp/ssmtp.conf 文件进行编辑,我们以 QQ 的 SMTP 服务器为例,如果你使用其它 SMTP 请自行按服务商的官方文档进行修改: 

    www=1722318623@qq.com
    mailhub=smtp.qq.com:587
    AuthUser=1722318623@qq.com
    AuthPass=xxxxxxxxxxxxxxxxx
    UseTLS=YES
    UseSTARTTLS=YES
    FromLineOverride=YES
    RewriteDomain:qq.com
    

     注意:以上红色为你使用QQ邮件服务器申请的邮件信息,请配置为你的邮件信息  

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

     echo "This is a test e-mail" | mail -s "Test Email" overcome.wan@gmail.com

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

    sendmail: Cannot open mail:25
    

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

    www:1722318623@qq.com:smtp.qq.com:587
    mainuser:1722318623@qq.com:smtp.qq.com:587
    

     配置好后继续测试

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

    邮件提示信息

    至此,邮件发送配置完成

    三、Service 单元

    新建 Service 非常简单,就是在/usr/lib/systemd/system目录里面新建一个文件,比如:tinywan-timer.service文件,你可以写入下面的内容。  

      

    小知识:

    Linux下使用vi新建文件保存文件时遇到错误:E212: Can't open file for writing

    以上问题是由于权限问题导致的,解决方法有以下思路: 

    • 1、使用root进行登录,然后再操作。
    • 2、在使用命令时,前面加sudo。
    • 3、如果是多级文件夹的文件时,由于这个文件夹没有创建,所以要先创建这个文件夹,再来操作这个文件。

    参考

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

    2、

  • 相关阅读:
    Selenium2学习(十四)-- 加载Firefox配置
    Selenium2学习(十三)-- JS处理滚动条
    Selenium2学习(六)-- 定位神器CSS
    Selenium2学习(十二)-- alertconfirmprompt
    Selenium2学习(十一)-- select下拉框
    poj 2155 Matrix 二维树状数组
    洛谷 3368 树状数组 模板2
    洛谷 3374 树状数组 模板
    poj 3468 树状数组 区间修改 区间求和
    hdu 1556 树状数组 改段求点
  • 原文地址:https://www.cnblogs.com/tinywan/p/8679159.html
Copyright © 2011-2022 走看看