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