小编典典

使用Shell脚本发送HTML邮件

linux

如何使用Shell脚本发送HTML电子邮件?


阅读 467

收藏
2020-06-02

共1个答案

小编典典

首先,您需要撰写邮件。最低要求由以下两个标头组成:

MIME-Version: 1.0
Content-Type: text/html

…以及适当的邮件正文:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
</head>
<body>

<p>Hello, world!</p>

</body>
</html>

一旦有了它,就可以将适当的信息传递给mail命令:

body = '...'

echo $body | mail \
-a "From: me@example.com" \
-a "MIME-Version: 1.0" \
-a "Content-Type: text/html" \
-s "This is the subject" \
you@example.com

这是一个过于简化的示例,因为您还需要注意字符集,编码,最大行长…但这基本上就是这个主意。

另外,您可以用Perl或PHP而不是普通的Shell编写脚本。

更新资料

Shell脚本基本上是一个文本文件,带有Unix行尾,该行以名为shebang的行开头,该行告诉shell它必须将文件传递给哪个解释器,并按照解释器理解并具有执行许可权的语言执行一些命令(在Unix中,文件属性)。例如,假设您将以下内容另存为hello- world

#!/bin/sh

echo Hello, world!

然后分配执行权限:

chmod +x hello-world

您最终可以运行它:

./hello-world

无论如何,这与原始问题无关。在执行高级任务之前,您应该熟悉基本的Shell脚本。这里有几个关于 bash 的链接, bash
是一个流行的shell:

http://www.gnu.org/software/bash/manual/html_node/index.html

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html

2020-06-02