如何用bash命令“sendmail”发送一个html邮件?

任何人都有一个演示可用?

Sendmail被认为是不可扩展的,但它是免费的,所以我决定现在先使用它:)

Solutions Collecting From Web of "如何用bash命令“sendmail”发送一个html邮件?"

我无法获得任何发布的解决方案,但最终在其他地方找到了这个解决方案,而且效果很好:

( echo "From: ${from}"; echo "To: ${to}"; echo "Subject: ${subject}"; echo "Content-Type: text/html"; echo "MIME-Version: 1.0"; echo ""; echo "${message}"; ) | sendmail -t 

如果我正确理解你的话,你想使用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配置的详细信息,请参阅此链接 。 希望这可以帮助。

此页面应该有所帮助 – http://www.zedwood.com/article/103/bash-send-mail-with-an-attachment

它包括一个用MIME附件发送电子邮件的脚本,即包含一个HTML页面和图像。

我知道你问sendmail,但为什么不使用默认邮件 ? 它可以很容易地发送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 

CodeShare: http : //www.codeshare.io/8udx5

使用邮件跟进以前的答案:

通常情况下,一个人的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 

– 一个选项?

参看 手册页:

 -a file Attach the given file to the message. 

结果:

 Content-Type: text/html: No such file or directory