mail是linux shell中的邮件工具,与crontab配合使用,可以实现定期发送邮件。本文主要介绍mail工具使用方法及注意事项。

1、mail命令一般用法:

mail –s “邮件主题” –c”抄送地址” –b “密送地址” -f 发送人邮件地址 –F 发件人姓名 <要发送的邮件内容>

三种发信格式:

#第一种方法,把当前shell当成编辑器使用,编辑完内容后Ctrl-D结束

mail -s test abc@abc.com

#第二种方法,使用管道发送邮件

echo “mail content”|mail -s test abc@abc.com

#第三种方法,使用重定向,发送file内容

mail -s test abc@abc.com< file

2、发送html格式邮件:

要发送html格式的邮件,就需要指定html头。

方法1:在-s选项中增加html头“Content-Type:text/html”

echo "<b><divstyle='color:red'>HTML Message goes here</div></b>" | mail-s "$(echo -e "This is the subject\nContent-Type:text/html")"  abc@abc.com

方法2:在-a选项中增加html头“Content-Type:text/html”

echo "<b><divstyle='color:red'>HTML Message goes here</div></b>" | mail -a"Content-Type: text/html" -s "$(echo -e "This is the subject\n")"  abc@abc.com

3、与crontab配合使用:

需要注意mail和crontab配合使用时

1)注意crontab指令中%等特殊字符的处理,需要在前面加反斜杠\进行转义。

50 12 * * 5 echo "test" |mail -s "$(echo -e " Log `date+'\%Y\%m\%d'` \nContent-Type: text/html")"
abc@abc.com

2)采用以上方法-e会被作为邮件标题发送,可使用mail的-a标签发送html的头信息。

5012  * * 5 echo "test"  |mail -a"Content-Type: text/html" -s "Statistic Log `date+'\%Y\%m\%d'`" 
abc@abc.com

mail命令入门及进阶的更多相关文章

  1. SQL Server AlwaysON从入门到进阶(3)——基础架构

    本文属于SQL Server AlwaysON从入门到进阶系列文章 前言: 本文将更加深入地讲解WSFC所需的核心组件.由于AlwaysOn和FCI都需要基于WSFC之上,因此我们首先要了解在Wind ...

  2. Python语言学习之Python入门到进阶

    人们常说Python语言简单,编写简单程序时好像也确实如此.但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制.要想用好Pytho ...

  3. Weex入门与进阶指南

    Weex入门与进阶指南 标签: WeexiOSNative 2016-07-08 18:22 59586人阅读 评论(8) 收藏 举报 本文章已收录于:  iOS知识库  分类: iOS(87)  职 ...

  4. mysql入门与进阶

    MySQL入门与进阶 需求:对一张表中的数据进行增删改查操作(CURD) C:create 创建 U:update 修改 R:read 读|检索 查询 D:delete 删除涉及技术:数据库 1.数据 ...

  5. react 入门与进阶教程

    react 入门与进阶教程 前端学习对于我们来说越来越不友好,特别是随着这几年的发展,入门门槛越来越高,连进阶道路都变成了一场马拉松.在学习过程中,我们面临很多选择,vue与react便是一个两难的选 ...

  6. sql注入(从入门到进阶)

    随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进 ...

  7. webpack4入门到进阶案例实战课程

    愿景:"让编程不在难学,让技术与生活更加有趣" 更多教程请访问xdclass.net 第一章 webpack4前言 第一集 webpack4入门到进阶案例实战课程介绍 简介:讲述w ...

  8. Linux常用命令入门文件、网络、系统及其他操作命令

    Linux常用命令入门文件.网络.系统及其他操作命令.压缩 归档 文件系统 系统管理 用户管理  网络管理 finger 相关命令 netstat ping rsh telnet wget 进程管理等 ...

  9. Docker入门与进阶(下)

    Docker入门与进阶(下) 作者 刘畅 时间 2020-11-12 实验主机配置 系统centos7.5 主机名 ip 配置 应用 harbor-master 172.16.1.71 2核4G/60 ...

随机推荐

  1. STLC - 软件测试生命周期

    什么是软件测试生命周期(STLC)? 软件测试生命周期(STLC)定义为执行软件测试的一系列活动. 它包含一系列在方法上进行的活动,以帮助认证您的软件产品. 图 - 软件测试生命周期的不同阶段 每个阶 ...

  2. 4月12 php练习

    php中输出 <?php echo'hello'; php中打印多个div <?php for($i=1;$i<=100;$i++) { ?> <div style=&q ...

  3. python-flask-script定制manage命令

    安装: pip3 install flask-script #!/usr/bin/env python # -*- coding:utf-8 -*- from flask_script import ...

  4. introsort(内省排序)

    本文转载于:https://blog.csdn.net/sky453589103/article/details/51116264 快速排序是一种很快的算法,它平均的时间复杂度WieO(nlgn), ...

  5. 1013. Pairs of Songs With Total Durations Divisible by 60总持续时间可被 60 整除的歌曲

    网址:https://leetcode.com/problems/pairs-of-songs-with-total-durations-divisible-by-60/submissions/ 参考 ...

  6. 五、持久层框架(Hibernate)

    一.分页查询 使用Criteria进行分页查询,无论是使用Oracle,MySQL,NoSQL,DB2,分页查询的代码写法都相同. 分页查询代码示例: package com.demo.test; i ...

  7. 第一讲(3)osgearth编译

    前题条件完成osg 3.0的编译Step 1 下载osgEarth 2.1.1https://github.com/gwaldron/osgearth/downloads------------> ...

  8. h5的坑

    转自 http://www.mahaixiang.cn 解决各种坑 http://www.mahaixiang.cn/ydseo/1529.html

  9. learning svn change commit log

    将repository内hook子文件夹中的pre-revprop-change.tmpl复制改成pre-revprop-change.bat,内容改为:exit 0

  10. unity中制作模拟第一人称视角下的指南针

    private int zRotation; public GameObject obj; public void Update() { //obj = GameObject.Find("C ...