您的位置:首页 > Web前端 > HTML

Sendmail 发送带附件的 html 邮件

2014-08-15 18:09 302 查看
sendmail 是 linux 上的一个基础的 mail 软件。

通常情况下你不需要自己构造 MMIE 。直接将邮件内容传参就可以完成发送邮件。 

但是当你需要发送一封混合格式的邮件。例如我想发一分邮件正文是html并且带附件的邮件。

这时候你就需要自己编辑 MMIE 了。首先你可以把一封邮件分为多个part(使用boundary),然后为每个part设定不同的 content-type 就可以了。

现在贴上一个示例代码。

#!/bin/sh
fromAdd="abc@abc.com"
tolist="abc1@abc.com,abc2@abc.com"
cclist="abc3@abc.com,abc4@abc.com"
subject="TextMultipartMixedMail"
attach="attach"
(
echo "From: $fromAdd"
echo "To: $tolist"
echo "Cc: $cclist"
echo "Subject: $subject"
echo "MIME-Version: 1.0"
echo 'Content-Type: multipart/mixed; boundary="GvXjxJ+pjyke8COw"'
#echo "Content-Disposition: inline"
echo
echo "--GvXjxJ+pjyke8COw"
echo "Content-Type: text/html; charset=US-ASCII"
echo "Content-Disposition: inline"
echo
echo "<h1>This is Html</h1>"
echo
echo "--GvXjxJ+pjyke8COw"
echo "Content-Type: text/plain; charset=US-ASCII;name=$attach"
echo "Content-Disposition: attachment;filename=$attach"
echo
echo "This is attach"
echo
echo "--GvXjxJ+pjyke8COw"
) | /usr/lib/sendmail -t


收到邮件的效果:



如果有更好的方法。欢迎提出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息