linux发送邮件的功能总结

使用linux系统服务器发送邮件的功能在平时工作中也是经常需要用到的,在这里总结一下,供以后参考:

1、直接使用管道发送邮件

echo "hello,this is the content of mail.welcome to www.mzone.cc" | mail -s "Hello from mzone.cc by pipe" [email protected]

2、使用文本发送

mail -s "Hello from mzone.cc by file" [email protected] < mail.txt

3、如果希望修改发送邮件的人,那么:

mail -s "title" -r "[email protected]" [email protected]

4、如果想要发送附件,那么:

echo "" | mutt -s "邮件名称" [email protected] -c 抄送邮件列表 -a 附件路径

如果发送csv文件,很可能出现乱码,那么需要提前将文件转码,命令是:

/usr/bin/iconv -t gb2312 -f utf-8 -c 源文件名 > 目标文件名
  • -t 目标编码
  • -f 原来编码

5、从hive数据仓库中提取数据并使用邮件发送,bash脚本如下

#!/bin/sh
source /usr/local/model/hive_config.sh
cd /home/username/shell-script/

##############################################
#Description:测试邮件方式导出数据
#Author:username
#CreateDate:2018-03-29


#生成csv文件并转码
hive -e "select * from dw.ods_fmis_refund limit 10" > sample_refund.csv;
(printf "\xff\xfe" ; iconv -c -f utf-8 -t utf-16le sample_refund.csv) > 订单退款信息样本20180329.csv;

##压缩文件,超过30M邮件无法加载
zip 订单退款信息样本20180329.csv.zip 订单退款信息样本20180329.csv

#发送邮件
sendEmails "[email protected]" "【数据提取】订单退款信息样本20180329" "数据请见附件" "订单退款信息样本20180329.csv.zip"
##发送短信
sendSmss "1342201****" "这是提醒短信! q(^o^)p"
#删除文件 rm sample_refund.csv; rm -fr 订单退款信息样本20180329*

猜你喜欢

转载自www.cnblogs.com/shujuxiong/p/9105237.html