Linux发送邮件命令mail,mutt
邮件常常是Linux下监控报警手段之一。Linux下的mail命令可以方便,快速的完成发送邮件。
1. Linux发邮件2种常见客户端命令
1.1 mail命令(推荐)
语法:
- 无邮件正文
- mail -s "Title" 123456789@qq.com
- 有邮件正文
- mial -s "Title" 123456789@qq.com </etc/hosts
- echo "Contents"| mail -s "Title" 123456789@qq.com
- cat /etc/hosts |mail -s "Title" 123456789@qq.com
- 带附件的邮件
- mail -s "Title" 123456789@qq.com -a /etc/hosts2
参数:
- -s 主题,邮件标题
- -a attach file添加附件
- -c 给多个用户发送邮件
查看是否安装mail服务:
[root@nfs-31 scripts]# rpm -qa mailx
mailx-12.4-10.el6_10.x86_64
如未安装:
yum install mailx -y
配置文件:/etc/mail.rc
示例:在/etc/mail.rc文件尾加上如下配置
因为163的设置相对简单些,以163邮箱为例,QQ邮箱等,其他邮箱因为安全等因素,需要设置的比较多,具体的可以搞下,本文不作重点。
set from=usr1@163.com
set smtp=smtp.163.com
set smtp-auth-user=usr1
set smtp-auth-password=邮箱密码
set smtp-auth=login
参数说明:
from 是发送的邮件地址
smtp 是发生的外部smtp服务器地址
smtp-auth-user 是外部smtp服务器认证的用户名
smtp-auth-password 密码
smtp-auth 认证方式
发送邮件测试:
echo "Content" | mail -s "Title" dongjunjie@cmcm.com
配置文件/var/spool/mail/[用户名]
查看所有的邮件信息
1.2 mutt命令
语法:
- 无邮件正文
- mutt -s "Title" 123456789@qq.com
- 有邮件正文
- mutt -s "Title" 123456789@qq.com </etc/hosts
- echo "Contents"| mutt -s "Title" 123456789@qq.com
- cat /etc/hosts |mutt -s "Title" 123456789@qq.com
- 带附件的邮件
- mutt -s "Title" 123456789@qq.com -a /etc/hosts2
例如:定期删除脚本
#!/bin/sh
# 2019-12-09
# by zoe
# 轮询删除java日志,只保留7天日志
MailContent = /dev/shm/mailContent
LogFile = /dev/shm/cleanJavaLog.log
LogDir = /home/java/java_*/log
MailList = "system@okoo.net" echo "轮询删除java日志,只保留7天日志,详情请查看邮件!删除日志:`date +%Y%m%d`" >$MailContent if [ -n "$LogDir" ];then
find $LogDir -type f -mtime +7 > $LogFile 2>&1
find $LogDir -type f -mtime +7 -delete > $LogFile 2>&1
mutt -s "Clean the java log 7 days ago" $MailList -a $LogFile<$MailContent
else
echo "删除日志失败,log目录不存在"|mutt -s "Clean the java log Wrong" $MailList
fi
2. 邮件发送原理

Linux本地常见邮件服务有:
CentOS 5 默认使用sendmail邮件服务,开启方式为/etc/init.d/sedmail start
CentOS 6 默认使用postfix邮件服务,开启方式为/etc/init.d/postfix start
2.2 配置mail使用外部SMTP发邮件
通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail/postfix等内部邮件服务而用外部的smtp服务器发送邮件的目的:
- 修改/etc/mail.rc配置文件,配置信息放在最后
- set from=usr1@163.com smtp=smtp.163.com smtp-auth-user=usr1 smtp-auth-password=123456 smtp-auth=login
Linux发送邮件命令mail,mutt的更多相关文章
- Linux基础命令---mail邮件管理程序
mail mail是一个邮件的管理程序,可以用来发送或者接收邮件. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora. 1.语法 mail [选项] ...
- Linux下使用mail命令发送邮件
因为需要经常备份网站的数据,所以了解并学习了下linux下如何通过shell来发送邮件,这里以CentOS为例,使用mail命令来进行外部邮件的发送.mail命令的语法如下: Usage: mail ...
- Linux下使用mail发送邮件
邮件常常是Linux下监控报警手段之一.Linux下的mail命令可以方便,快速的完成发送邮件.下面以CentOS为例 1.安装 [root@vm8028 ~]# mail -bash: mail: ...
- 在Linux系统下mail命令的用法
在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...
- linux全部命令
linux全部命令 一.安装和登陆命令1.进入图形界面startx 2.进入图形界面init 5 3.进入字符界面init 3 4.登陆login 5.关机poweroff-p 关闭机器的时候关闭电源 ...
- Linux常用命令速查备忘
Linux常用命令速查备忘 PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...
- linux常用命令加实例大全
目 录引言 1一.安装和登录 2(一) login 2(二) shutdown 2(三) halt 3(四) reboot 3(五) ...
- 一个linux常见命令的列表
这是一个linux常见命令的列表. 那些有• 标记的条目,你可以直接拷贝到终端上而不需要任何修改,因此你最好开一个终端边读边剪切&拷贝. 所有的命令已在Fedora和Ubuntu下做了测试 命 ...
- Linux系列教程(九)——Linux常用命令之网络和关机重启命令
前一篇博客我们讲解了Linux压缩和解压缩命令,使用的最多的是tar命令,因为现在很多源码包都是.tar.gz的格式,通过 tar -zcvf 能完成解压.然后对于.zip格式的文件,使用gunzip ...
随机推荐
- JDK12不包含JAXB-API
##用JDK12环境下 做EUREKA的的时候 报错如下 java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not ...
- 这个案例写出来,还怕跟面试官扯不明白 OAuth2 登录流程?
昨天和小伙伴们介绍了 OAuth2 的基本概念,在讲解 Spring Cloud Security OAuth2 之前,我还是先来通过实际代码来和小伙伴们把 OAuth2 中的各个授权模式走一遍,今天 ...
- String 对象-->概念和创建
1.String 对象 String 对象用于处理文本(字符串). String 对象创建方法: new String(). 语法: var txt = new String("string ...
- django 前后台传递数据
前几天,我们完成了用django orm对数据进行操作.接下来,我们要把数据从后台放到前台. 1.用get方式传值 get:就是在URL拼接字符串,在后台,用request.get方式取 2.用pos ...
- beanshell自定义聚合报告时分线程组阶段展示
假设现在一共会加载100个线程,期望聚合报告中分别展示1-20,20-40,40-60,60-80的四个阶段的线程并发性能数据,而不是总体的统计数据 beanshell脚本,具体内容: import ...
- 搭建WEB、NFS共享、sersync实时同步以及全网定时备份服务流程
本次实验的主要目的: 1.搭建web服务,使用nfs服务共享的/data目录挂载到web站点目录上. 2.nfs服务器与backup服务器使用sersync实时同步/data目录中的文件. 3.bac ...
- golang 在 Mac , Linux , Windows 下交叉编译详解
一. 前言 Golang 支持交叉编译, 在一个平台上生成然后再另外一个平台去执行. 而且编译的工具[build]这个工具是Golang 内置的,不需要你去下载第三方的包啥的,贼方便. 二. 交叉编译 ...
- Maven版本不合适导致出现的问题如下,换个老版本就好了
2019-09-30 11:56:24,555 [ 597097] ERROR - #org.jetbrains.idea.maven - IntelliJ IDEA 2018.3.5 Build # ...
- 修改vs默认浏览器
右键你的Html或者网页项目,选择"使用以下工具浏览" 跳出选择框,选择你想要的浏览器作为默认值即可,也可以添加你想要的浏览器.
- 批量重命名脚本(Python)
便携的批处理脚本,代码如下: import os import sys def rename(): path=input("请输入路径(例如D:/picture):") name= ...