shell 脚本发送邮件(可带附件)

  • Post author:
  • Post category:其他


#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $DIR/../conf/shell_env.conf  #定位文件所在位置


if [ ${#1} -eq 8 ]; then
      day=$1
      ATTACHMENT=$2
      MAIL_RECV=$3
else
     echo "Error!!!"
     echo "Usage:sh yyyymmdd hh ${WORKROOT}/send_email/--/${day}/.xls @qq.com"
     exit 1
fi

arr=(${ATTACHMENT//,/ })
#${value//pattern/string}
#进行变量内容的替换,把与pattern匹配的部分替换为string的内容
#确定附件的个数

length=${#arr[@]}

if [ "${length}" -eq "1" ];then
echo "Dear all:
附件是${day}日的deeplink拆分数据


祝:工作顺利


"|mutt -c $MAIL_RECV -s "${day}日的deeplink 拆分数据" -a ${arr[0]}
fi

使用:

sh -x   要执行的文件   参数(附件所在位置    收件人,多个收件人之间用空格隔开)

sh -x      a.sh             send_email/deeplinkSplit.xls   xx@qq.com

mutt 用法:

语 法:

mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文 件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>] [-s<主题>][邮件地址]

参 数:

-a <文件> 在邮件中加上附加文件。

-b <地址> 指定密件副本的收信人地址。

-c <地址> 指定副本的收信人地址。

-f <邮件文件> 指定要载入的邮件文件。

-F <配置文件> 指定mutt程序的设置文件,而不读取预设的.muttrc文件。

-h 显示帮助。

-H <邮件草稿> 将指定的邮件草稿送出。

-i <文件> 将指定文件插入邮件内文中。

-m <类型> 指定预设的邮件信箱类型。

-n 不要去读取程序培植文件(/etc/Muttrc)。

-p 在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。

-R 以只读的方式开启邮件文件。

-s <主题> 指定邮件的主题。

-v 显示mutt的版本信息以及当初编译此文件时所给予的参数。

-x 模拟mailx的编辑方式。

-z 与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt

当文件中出现格式问题时

iconv -f utf8 -t gbk send_email/deeplinkSplit1.xls -o send_email/deeplinkSplit.xls

iconv 介绍:

将文件的一种编码转化为另外一种


用法

iconv [选项...] [文件...]

选项
输入/输出格式规范:
-f  --from-code=名称 原始文本编码
-t  --to-code=名称 输出编码

信息
-l  --list 列举所有已知的字符集

输出控制
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent 关闭警告
--verbose 打印进度信息

mutt 的安装:

https://www.cnblogs.com/nwf5d/archive/2012/04/25/2470312.html



版权声明:本文为learner_up原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。