您的位置:首页 > 运维架构 > Linux

无乱码解决Linux下sendEmail发送邮件

2015-12-02 11:12 639 查看
SUBJECT=`echo -n 标题 | base64`
TO="aaa@163.com"
CC="ccc@163.com,ddd@163.com"

att1=file1.xls
att2=file2.xls
name=`echo -n 姓名 | base64`

FROM="=?utf-8?b?${name}?=<eee@163.com>"
sendEmail -o message-charset=utf8 -f $FROM -t $TO \
-s smtp.163.com -xu eee@163.com -xp ****** \
-u "=?utf-8?b?$SUBJECT?=" -o message-content-type=html \
-a $att1 $att2 \
-m "邮件正文"



上面是个简单的示例,大部分情况不会有乱码情况

一、正文乱码解决

很简单:增加 -o message-charset=utf8 即可

二、标题乱码

标题乱码需要手动转码

如上:

SUBJECT_NAME=`echo -n 标题 | base64`

SUBJECT="=?utf-8?b?$SUBJECT_NAME?="
FROM乱码同理

使用帮助:

Synopsis:  sendEmail -f ADDRESS [options]

Required:
-f ADDRESS                from (sender) email address
* At least one recipient required via -t, -cc, or -bcc
* Message body required via -m, STDIN, or -o message-file=FILE

Common:
-t ADDRESS [ADDR ...]     to email address(es)
-u SUBJECT                message subject
-m MESSAGE                message body
-s SERVER[:PORT]          smtp mail relay, default is localhost:25

Optional:
-a   FILE [FILE ...]      file attachment(s)
-cc  ADDRESS [ADDR ...]   cc  email address(es)
-bcc ADDRESS [ADDR ...]   bcc email address(es)
-xu  USERNAME             username for SMTP authentication
-xp  PASSWORD             password for SMTP authentication

Paranormal:
-b BINDADDR[:PORT]        local host bind address
-l LOGFILE                log to the specified file
-v                        verbosity, use multiple times for greater effect
-q                        be quiet (i.e. no STDOUT output)
-o NAME=VALUE             advanced options, for details try: --help misc
-o message-content-type=<auto|text|html>
-o message-file=FILE         -o message-format=raw
-o message-header=HEADER     -o message-charset=CHARSET
-o reply-to=ADDRESS          -o timeout=SECONDS
-o username=USERNAME         -o password=PASSWORD
-o tls=<auto|yes|no>         -o fqdn=FQDN

Help:
--help                    the helpful overview you're reading now
--help addressing         explain addressing and related options
--help message            explain message body input and related options
--help networking         explain -s, -b, etc
--help output             explain logging and other output options
--help misc               explain -o options, TLS, SMTP auth, and more
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息