邮件常常是Linux下监控报警手段之一。Linux下的mail命令可以方便,快速的完成发送邮件。下面以CentOS为例

1、安装:

[app@127-0-0-1 ~]# mail
-bash: mail: command not found
[app@127-0-0-1 ~]# yum install mailx

2、配置

vi /etc/mail.rc   在文件尾加上如下配置

注 : 163的设置相对简单些,以163邮箱为例,QQ邮箱等,其他邮箱因为安全等因素,需要设置的比较多,具体的可以搞下,本文不作重点。QQ邮箱也是可以的。

163配置:

set from=显示的发件人,必须和认证用户邮箱一致
set smtp=smtp.163.com (163固定)
set smtp-auth-user=163邮箱用户名
set smtp-auth-password=163邮箱的授权码
set smtp-auth=login 注:"="两边无空格

   qq配置:

set from=显示的发件人,必须和认证用户邮箱一致
set smtp=smtp.qq.com(qq固定)
set smtp-auth-user=qq邮箱账号
set smtp-auth-password=授权码
set smtp-auth=login 注:"="两边无空格

3、报错

[app@127-0-0-1 ~]# echo "Content" | mail -s "Title" 1378943543@qq.com
[app@127-0-0-1 ~]# smtp-server: 550 User has no permission
"/root/dead.letter" 10/235
. . . message not sent.
^C
[app@127-0-0-1 ~]#

 原因:由于163邮箱登录被拒绝了,解决:登录163邮箱,按下图1,2,3步骤进行就可以解决

qq 授权设置:【设置】-【账户】-【POPS/SMTP服务】-【开启】-【发送短信】-【已发送】-【获得授权码】

最后点击【确定】

4、成功

[app@127-0-0-1 ~]# echo "I love you" | mail  -s "love letter"  *****@qq.com
[app@127-0-0-1 ~]#

  状态:

5、拓展

5.1 mail命令参数

-s <邮件主题>:指定邮件的主题;

-c <地址>:添加邮件抄送人,多个人时用逗号隔开;

-b <地址>:添加邮件暗送人;

-a <附件>: 添加附件。

mail命令 可以使用查看具体更多的使用方法,mail --h 可以查看

5.2无邮件正文

[app@127-0-0-1 ~]# mail  -s  "Title"  userName@qq.com

 5.3 有邮件正文

[app@127-0-0-1 ~]# mail  -s  "Tile"  userName@qq.com   <  /data/letter-comtext.txt

  或

[app@127-0-0-1 ~]# cat  /data/letter-context.txt  | mail  -s  "Tile"  userName@qq.com

  或

[app@127-0-0-1 ~]# echo “context“  |   mail  -s  "Tile"  userName@qq.com

5.4带附件的邮件

[app@127-0-0-1 ~]# mail -s "Tile"   -a  /data/letter-context.txt  userName@qq.com

Linux系统下使用 mail 发送邮件的更多相关文章

  1. 在Linux系统下mail命令的用法

    在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...

  2. linux系统下邮件的发送

    在linux系统下发送邮件一般都要要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的资源占用. 其实我还可以安装mailx软件,通过修改配置文件可以使用外部SMTP服务 ...

  3. linux系统下的权限知识梳理

    下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...

  4. Linux系统下用户与组的管理

    Linux系统下用户与组的管理 一.用户及组基本概述 Linux 系统上,用户管理是基于用户名和密码的方式进行资源的分配. 1.uid(用户身份标识) (1)root用户 uid为0 (2)普通用户: ...

  5. Linux系统下DHCP服务安装部署和使用详解

    一.概述 DHCP :动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网或 ...

  6. 在Linux系统下运行微信Web开发者工具

    微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...

  7. Vi (Unix及Linux系统下标准的编辑器)VIM (Unix及类Unix系统文本编辑器)

    Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.基本上vi可以分为三种状态,分别是命令模式.插入模式,和底行模式. vi编辑器是所有Unix及Linux系统下 ...

  8. linux系统下修改文件夹目录权限

    linux系统下修改文件夹目录权限 文件夹权限问题 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何 ...

  9. Linux系统下配置JDK环境变量

    刚申请了阿里云,平时很少接触Linux,特此记录一下Linux系统下安装JDK的步骤. 1.进入usr:cd /usr: 2.创建java文件夹:mkdir java: 3.将下载好的文件拷贝至jav ...

随机推荐

  1. limit和offset、切片操作

    #encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,Float,func,and_,or_,\ Da ...

  2. Palindromic Substrings

    Given a string, your task is to count how many palindromic substrings in this string. The substrings ...

  3. C++多线程基础学习笔记(五)

    一.互斥量 1.1 互斥量的基本概念 简单来说,一个锁就是一个互斥量,既然是锁,就有两种状态:加锁和解锁,通过加锁>>>操作共享数据>>>解锁的方式,实现保护共享数 ...

  4. HTML5自学之列表

    第5章. 网页列表与段落设计网页列表与段落是网页中的主要也是最常用的元素,其中,网页列表可以有序地编排一些信息资源,使其结构化和条理化,并以列表的样式显示出来,以便浏览者能更加快捷的获得相应信息.网页 ...

  5. Python 入门 之 异常处理

    Python 入门 之 异常处理 1.异常处理 (1)程序中的错误分为两种 <1> 语法错误 (这种错误,根本过不了Python解释器的语法检测,必须在程序执行前就改正) # 语法错误示范 ...

  6. 如何在云服务器上使用Docker部署easy-mock

    部署Easy-mock 安装Docker Ubuntu下安装Docker 安装Docker-compose Ubuntu下安装docker-compose 使用Docker部署 Easy-Mock D ...

  7. 将数据导出到 excel ,然后下载下来

    private static final String SHEET_NAME = "培养计划表"; /** * @param response * @param trainingN ...

  8. 01 Mysql数据库初识

    一.数据库概述 1.什么是数据库? 什么是数据库呢? 先来看看百度怎么说的 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“ ...

  9. 基于Websocket的websocketd

    WebSocket是什么 WebSocket是HTML5下面的一种技术,设计出来的目的就是要取代轮询和 Comet 技术,使客户端浏览器具备像 C/S 架构下桌面系统的实时通讯能力. 浏览器通过 Ja ...

  10. python 运行sum函数的使用

    sum(iterable[, start]) ,iterable为可迭代对象,如: sum([ ], start) , #iterable为list列表. sum(( ), start ) , #it ...