Linux发邮件之mail命令详解

一、mail命令

1.配置

vim /etc/mail.rc

文件尾增加以下内容

set from=1968089885@qq.com smtp="smtp.qq.com"
set smtp-auth-user="1968089885@qq.com" smtp-auth-password="123456"
set smtp-auth=login

说明:

from: 对方收到邮件时显示的发件人

smtp: 指定第三方发送邮件的smtp服务器地址

smtp-auth: SMTP的认证方式。默认是LOGIN,也可改为CRAM-MD5或PLAIN方式

smtp-auth-user: 第三方发邮件的用户名

smtp-auth-password: 用户名对应密码

2.Mail命令

% mail --h
 mail: illegal option -- -
Usage: mail -eiIUdEFntBDNHRV~ -T FILE -u USER -h hops -r address -s SUBJECT -a FILE -q FILE -f FILE -A ACCOUNT -b USERS -c USERS -S OPTION users

注:部分系统参数稍有差异,最好看帮助

1)  无邮件正文

mail -s "主题"  收件地址

% mail -s "测试" 1968089885@foxmail.com

2) 有邮件正文 

mail -s "主题"  收件地址< 文件(邮件正文.txt)

% mail -s "邮件主题" 1968089885@foxmail.com < /data/findyou.txt

echo "邮件正文" | mail -s 邮件主题  收件地址

% echo "邮件正文内容" | mail -s "邮件主题" 1968089885@foxmail.com

cat 邮件正文.txt | mail -s 邮件主题  收件地址

% cat /data/findyou.txt | mail -s "邮件主题" 1968089885@foxmail.com

3)  带附件

mail -s "主题"  收件地址  -a 附件 < 文件(邮件正文.txt)

% mail -s "邮件主题" 1968089885@foxmail.com -a /data/findyou.tar.gz < /data/findyou.txt

3.脚本

sendmail.sh

#!/bin/bash
 #author:findyou
 help(){
  echo "eg: $0 [Subject] [address] [content_file] [file]"
  echo ""
  exit 1
 }

if [ ! -n "$1" ] ; then
   help
fi

 cDate=`date +%Y%m%d`

if [ ! -n "$2" ] ; then
   help
else
   mail_to=$2
   echo "   Send Mail to ${mail_to}"
fi

if [ ! -n "$4" ] ; then
   mail -s $1 ${mail_to}<$3
else
   mail -s $1 -a $4 ${mail_to}<$3
fi

使用

[root@123]$ ./sendmail.sh test 1968089885@qq.com abc.txt
    Send Mail to 1968089885@qq.com
 [root@123]$

说明:建议直接使用命令 ,有脚本只是为了在打印显示相关信息,多此一举。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 一个简单的linux命令 cp

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖.这说明命令行和shell脚本的执行方式有些不同. 命令格式 cp [选项]- [-T] 源 目的 命令参数 -a, –archive 等于-dR –preserve=all –backup[=CONTROL 为每个已存在的目标文件创建备份

  • linux下执行shell命令方法简介

    linux下执行shell命令有两种方法 在当前shell中执行shell命令 在当前shell中产生一个subshell,在subshell中执行shell命令 1.在当前shell中执行shell命令 主要就是在命令行中通过交互方式方式直接输入shell命令,命令行直接执行给出结果.比如这样: 2.在当前shell中产生一个subshell,在subshell中执行shell命令 比如我们把shell写成shell脚本的方式来运行,这个时候会先启动一个subshell来代替当前的shell,

  • linux文本过滤grep基础命令介绍(5)

    在linux中经常需要对文本或输出内容进行过滤,最常用的过滤命令是grep grep [OPTIONS] PATTERN [FILE...] grep按行检索输入的每一行,如果输入行包含模式PATTERN,则输出这一行.这里的PATTERN是正则表达式(参考前一篇,本文将结合grep一同举例). 输出文件/etc/passwd中包含root的行: [root@centos7 temp]# grep root /etc/passwd root:x:0:0:root:/root:/bin/bash

  • 一天一个shell命令 linux文本操作系列-head,tail命令详解

    head命令中文介绍: 用法:head [选项]... [文件]... 将每个指定文件的头10 行显示到标准输出. 如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头. 如果不指定文件,或者文件为"-",则从标准输入读取数据. 长选项必须使用的参数对于短选项时也是必需使用的. -c, --bytes=[-]K 显示每个文件的前K 字节内容: 如果附加"-"参数,则除了每个文件的最后K字节数据外 显示剩余全部内容 -n, --lines=[-]K 显示每个文

  • linux文件搜索及其它基础命令介绍(3)

    1.linux中包含大量的文件,对于文件查找,linux提供了find命令. find是一个非常有效的工具,它可以遍历目标目录甚至整个文件系统来查找某些文件或目录: find [path...] [expression] 其中expression包括三种:options.tests和actions.多个表达式之间被操作符分隔,当操作符被省略时,表示使用了默认操作符-and. 当表达式中不包含任何actions时,默认使用-print,也就是打印出搜索到的所有文件,用换行分隔. 其实可以将三种表达

  • PHP实现linux命令tail -f

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 1.命令格式; tail[必要参数][选择参数][文件] 2.命令功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理.常用查看日志文件. 3.命令参数: -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n&l

  • Linux中tail命令用法详解

    tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文件写到标准输出.很多人喜欢使用tail –f 来监控日志文件. 一.Linux tail命令格式 Linux tail命令 格式如下所示 tail [OPTION]... [FILE]... Linux tail命令 参数如下所示 -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c

  • 一个简单的linux命令 pwd

    pwd命令主要用于查看当前工作目录的完整路径. 主要用法:pwd [option] 常用范例: 1.查看当前完整路径 命令:pwd 输出: [root@localhost ~]# pwd /root [root@localhost ~]# 2.查看链接路径 命令:pwd -P 输出: [root@localhost soft]# cd /etc/init.d [root@localhost init.d]# pwd /etc/init.d [root@localhost init.d]# pwd

  • 一个简单的linux命令 tail

    tail命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 命令格式 tail[必要参数][选择参数][文件] 命令参数 -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数> 显示行数 –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束. -q, –qui

  • 一个简单的linux命令 mkdir

    mkdir 命令用于创建指定名称的目录,要求用户具有要创建的目录下的读写权限. 一.命令格式 mkdir [option] Dir- 二.命令参数 -m, --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask -p, --parents  可以是一个路径名称.此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;  -v, --verbose  每次创建新目录都显示信息 --help   显示

随机推荐