Shell 调用sendmai发邮件 subject中文乱码
来源:互联网 发布:如何把整轨分轨软件 编辑:程序博客网 时间:2024/05/22 06:21
最近写一个Ksh 的脚本,调用sendmail 发送邮件。 邮件内容有超链接地址,所以使用html去处理,并且设置content-type=UTF-8
大致内容如下 [内容为本人随意写的,不涉及任何组织机构的商业秘密,请技术人员不必过分在意]
cat <<EOF >${tmp_3HK_content_Chi}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
最新香港服務及產品資訊盡在123.com.hk
</title>
</head>
<body tyle="width:80%">
<p> 賬戶號碼:${PMCI_MOB_NBR}</p>
<p>不時更新以提供最新最快之香港服務及產品資訊,不時更新以提供最新最快之香港服務及產品資訊不時更新以提供最新最快之香港服務及產品資訊不時更新以提供最新最快之香港服務及產品資訊。
</p>
<p>若閣下申請停止收取此类推廣電郵,可致電(852) 1234 5678 聯絡客戶主任辦理。亦可<a href="${RT_EM_Hyperlink} ">按此</a>:登入香港網頁 > 個人資料管理 > 更改推廣媒介。
</p>
</body>
</html>
EOF
EMAIL_ADDRESS="邮箱地址"
Subject="最新香港服務及產品資訊"
(
echo "Subject: $Subject"
echo "Subject: $title"
echo "MIME-Version: 1.0"
echo "Content-Type: text/html; charset=UTF-8 "
echo "Content-Disposition: inline"
cat $tmp_3HK_content_Chi
) | sendmail $EMAIL_ADDRESS
执行后发现收到的邮件内容正常显示,但是邮件标题即Subject是乱码。网上搜了各种方法,均没有解决问题。
试了
tmp_chi_subject=${ROOT}/bin/tmp_subject1.txt
read title <${tmp_chi_subject}
(
echo "Subject: =?big5?x8fIzsG6t9vLv87Cxa/P18DxILXn19PU09arP2wq8=?$title"
echo "Subject: $title"
echo "MIME-Version: 1.0"
echo "Content-Type: text/html; charset=UTF-8 "
echo "Content-Disposition: inline"
cat $tmp_3HK_content_Chi
) | sendmail $EMAIL_ADDRESS
可以解决Subject为乱码的问题。只是在Foxmail上看到的邮件标题是正常只有中文标题的,网页版的会变成【=?big5?x8fIzsG6t9vLv87Cxa/P18DxILXn19PU09arP2wq8=?最新香港服務及產品資訊】。
后来重新把shell脚本用note-pad 先设置为编码格式为Big5.
再把html格式的content的所有编码从UTF-8变成big5【不是BIG-5】,使得整个脚本的编码与输出的编码均保持一致,不需要把subject写到文件中,直接
Subject="最新香港服務及產品資訊"
(
echo "Subject: $SUBJECT"
echo "MIME-Version: 1.0"
echo "Content-Type: text/html; charset=big5 "
echo "Content-Disposition: inline"
cat $tmp_3HK_content_Chi
) | sendmail $EMAIL_ADDRESS
就可以了。并且网页上看到的邮件与foxmail里面都是正常显示邮件标题和内容的哦
- Shell 调用sendmai发邮件 subject中文乱码
- log4j 发邮件(解决中文乱码)
- Linux脚本发邮件中文乱码解决
- 英文服务器发中文邮件显示出乱码的解决方法。
- javamail发邮件乱码
- linux shell 发邮件
- shell 发邮件
- linux shell 发邮件
- 调用发短信、邮件
- Linux下Shell发送附件邮件&中文乱码
- javax.mail 发送中文主题subject中文乱码
- java 发邮件乱码解决
- 在shell中发邮件
- linux用shell发邮件
- Linux Shell发邮件笔记
- sendmai和dovecot的简单邮件服务器
- [转]使用php mailer类调用远程SMTP服务器发送邮件Could not execute: /var/qmail/bin/sendmai
- 调用系统程序发邮件
- 给虚拟机VMWare下的redhat5.5根分区扩容
- Informatica Powercenter调优
- C语言Union学习
- linux中断处理浅析
- cp命令实现不覆盖
- Shell 调用sendmai发邮件 subject中文乱码
- Shell获取文件后缀名
- 工作时效计算逻辑与算法时效--对节假日、周末调班、周末时间进行处理
- Convert YYYYMMDD string date to a datetime value
- firebug详解
- web常见攻击七–夸张脚本攻击(XSS)
- ubuntu 12.04 安装最新版nginx
- 设计模式:观察者模式java和javabean
- 在App层实现虚拟按键消息发送