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、
Linux 命令详解(十二)Systemd 入门教程:使用定时器发送邮件(mail)的更多相关文章
- Linux 命令详解(二)awk 命令
AWK是一种处理文本文件的语言,是一个强大的文本分析工具.之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Fami ...
- Linux命令详解之—tail命令
tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...
- Linux命令详解之—less命令
Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...
- Linux命令详解之—more命令
Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...
- Linux命令详解之—cat命令
cat命令的功能是连接文件或标准输入并打印,今天就为大家介绍下Linux中的cat命令. 更多Linux命令详情请看:Linux命令速查手册 Linux 的cat命令通常用来显示文件内容,也可以用来将 ...
- Linux命令详解之—pwd命令
Linux的pwd命令也是一个非常常用的命令,本文为大家介绍下Linux中pwd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux pwd命令用于显示工作目录. 执行pwd指 ...
- Linux命令详解之–cd命令
cd命令是linux实际使用当中另一个非常重要的命令,本文就为大家介绍下Linux中cd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux cd命令用于切换当前工作目录至 d ...
- Linux命令详解之–ls命令
今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...
- (转)linux命令详解之useradd命令使用方法
linux命令详解之useradd命令使用方法 原文:http://blog.csdn.net/u011537073/article/details/51987121 Linux 系统是一个多用户多任 ...
- [转载]Linux 命令详解:./configure、make、make install 命令
[转载]Linux 命令详解:./configure.make.make install 命令 来源:https://www.cnblogs.com/tinywan/p/7230039.html 这些 ...
随机推荐
- 【CodeForces706E】Working routine(二维链表)
BUPT2017 wintertraining(15) #6B 题意 q次操作,每次把两个给定子矩阵交换,求最后的矩阵.(2 ≤ n, m ≤ 1000, 1 ≤ q ≤ 10 000) 题解 用R[ ...
- python学习日记(练习,流程控制+数据结构)
简易计算器 #简易计算器,蠢新一枚,功能尚不完善,本为个人练习,仅供参考 while 1: a = input('请输入第一个运算数:').strip()#可输入前后带空格的数字 if a.lower ...
- Python将是人工智能时代的最佳编程语言
Python将是人工智能时代的最佳编程语言 移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的两大霸主,成为移动开发者首选的两门技术,HTML5以其跨 ...
- 【BZOJ5318】[JSOI2018]扫地机器人(动态规划)
[BZOJ5318][JSOI2018]扫地机器人(动态规划) 题面 BZOJ 洛谷 题解 神仙题.不会.... 先考虑如果一个点走向了其下方的点,那么其右侧的点因为要被访问到,所以必定只能从其右上方 ...
- 654. Maximum Binary Tree
654. Maximum Binary Tree 题目大意: 意思就是给你一组数,先选一个最大的作为根,这个数左边的数组作为左子树,右边的数组作为右子树,重复上一步. 读完就知道是递归了. 这个题真尼 ...
- 「JLOI2015」城池攻占 解题报告
「JLOI2015」城池攻占 注意到任意两个人的战斗力相对大小的不变的 可以离线的把所有人赛到初始点的堆里 然后做启发式合并就可以了 Code: #include <cstdio> #in ...
- poj3926 parade (单调队列+dp)
题意:有n行路,每行路被分成m段,每一段有长度和权值,要求从最下面一行走到最上面一行某个位置,可以从相邻两行的同一列交点往上走,并且在同一行走的长度要<=K,求走过的最大权值 设f[i][j]为 ...
- 【linux】硬盘原理简介和分区
硬盘是计算机重要的一个部件,计算机中的数据都是保存在硬盘中,比如mysql的数据,linux系统日志及其他的应用日志,还有很多视频,音频,图片等文件都是保存在硬盘中,所以硬盘是计算机不可或缺的一个部件 ...
- Freescale 车身控制模块(BCM) 解决方案
中国汽车业已成为全球第一市场,标志着中国汽车产业进入了白热化竞争时代,因此,人们对汽车的操控性,安全性,易用性,舒适性,以及智能化要求也越来越高,更大的空间需求和更多的零部件因而产生了冲突,这就要求汽 ...
- Max Mex
Max Mex 无法直接处理 可以二分答案! [0,mid]是否在同一个链上? 可以不修改地做了 修改? 能不能信息合并?可以! 记录包含[l,r]的最短链的两端 可以[0,k][k+1,mid]合并 ...