有人有可用的演示吗?
据说Sendmail不具备可扩展性,但是它是免费的,所以我决定暂时先使用它 :)
(
echo "From: ${from}";
echo "To: ${to}";
echo "Subject: ${subject}";
echo "Content-Type: text/html";
echo "MIME-Version: 1.0";
echo "";
echo "${message}";
) | sendmail -t
如果需要解决与sendmail
兼容的msmtp问题,请参考以下链接:
Content-Type:
,则需要使用 MIME 版本。显然,在这里您需要使用它。 - tripleee如果我理解正确,您希望使用Linux sendmail命令以HTML格式发送邮件。此代码适用于Unix系统,请尝试使用。
echo "From: me@xyz.com
To: them@xyz.com
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary='PAA08673.1018277622/server.xyz.com'
Subject: Test HTML e-mail.
This is a MIME-encapsulated message
--PAA08673.1018277622/server.xyz.com
Content-Type: text/html
<html>
<head>
<title>HTML E-mail</title>
</head>
<body>
<a href='http://www.google.com'>Click Here</a>
</body>
</html>
--PAA08673.1018277622/server.xyz.com
" | sendmail -t
关于sendmail的配置详细信息,请参考这个链接。希望本信息对您有所帮助。
boundary='...'
这一行需要添加到它上面的那一行,也就是Content-Type:...;
这一行,对吗?我试图进行编辑,但 StackExchange 阻止了我的更改,因为字符数不够。 :( - bgoodr我知道你要求使用sendmail,但为什么不使用默认的mail呢?它可以轻松地发送HTML电子邮件。
适用于:RHEL 5.10/6.x和CentOS 5.8
示例:
cat ~/campaigns/release-status.html | mail -s "$(echo -e "Release Status [Green]\nContent-Type: text/html")" to.address@company.com -v
-a选项是什么?
参考man页面:
-a file
Attach the given file to the message.
结果:
Content-Type: text/html: No such file or directory
在http://senthilkl.blogspot.lu/2012/11/how-to-send-html-emails-using-sendemail.html上找到解决方案。
sendEmail -f "oracle@server" -t "name@domain.com" -u "Alert: Backup complete" -o message-content-type=html -o message-file=$LOG_FILE -a $LOG_FILE_ATTACH
关于使用邮件跟进上一篇回答:
通常情况下,客户端邮件程序会解释html输出内容,但可能没有使用固定宽度字体来格式化。因此,您精美格式化的ascii对齐就会变得混乱。为了以上帝意愿的方式发送老式的固定宽度,可以尝试以下方法:
{ echo -e "<pre>"
echo "Descriptive text here."
shell_command_1_here
another_shell_command
cat <<EOF
This is the ending text.
</pre><br>
</div>
EOF
} | mail -s "$(echo -e 'Your subject.\nContent-Type: text/html')" to.address@company.com
您不一定需要“这里是描述性文本。”这行,但我发现有时第一行可能会导致邮件程序以您不想要的方式解释文件的其余部分。首先尝试使用简单的描述性文本运行脚本,然后再根据需要微调输出。
使用 -a 选项更简单:
cat ~/campaigns/release-status.html | mail -s "Release Status [Green]" -a "Content-Type: text/html" to.address@company.com