如何使用Shell脚本发送HTML电子邮件?
首先,您需要撰写邮件。最低要求由以下两个标头组成:
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:
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