i007.cc

i007.cc

优先队列-降维打击

Linux发邮件之mail命令

一、mail命令

1.配置

vim /etc/mail.rc

文件尾增加以下内容 

set [email protected] smtp=”smtp.qq.com”
set smtp-auth-user=”[email protected]” 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 “测试”  [email protected]

 

2) 有邮件正文

  •  mail -s “主题”  收件地址< 文件(邮件正文.txt)
% mail -s “邮件主题”  [email protected] < /data/findyou.txt
  •  echo “邮件正文” | mail -s 邮件主题  收件地址
% echo “邮件正文内容” | mail -s “邮件主题”  [email protected]
  •  cat 邮件正文.txt | mail -s 邮件主题  收件地址
% cat  /data/findyou.txt | mail -s “邮件主题”  [email protected]

 

3)  带附件
  •  mail -s “主题”  收件地址  -a 附件 < 文件(邮件正文.txt)
% mail -s “邮件主题”  [email protected] -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  [email protected]  abc.txt
Send Mail to [email protected]
[root@123]$

 

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

发表回复