我正在运行 cron 作业,其中有 html 格式的输出。我想以 html 格式将该输出发送给我的电子邮件地址。
有什么办法吗?
php /home/bla/bla_bla.php | mail -s "Bla Bla" -s "[email protected]"
答案1
你可能想看看哑剧构造。它对于这种事情很方便。我使用它来发送生成的 HTML 文档作为日常 cronjob 的一部分,如下所示:
/usr/bin/mime-construct --to "[email protected]" --subject "My daily html foo" --multipart multipart/alternative --type text/html --file htmlfiletosend.html
如果您不介意消息是多部分的,则可以删除该部分。它还可以通过 stdin 获取 html,如下所示:
php your_script.php | mime-construct --to "[email protected]" --subject "Foo Report" --type text/html --file -
我不知道您使用的是哪个发行版,但是这个在 Debian 和 Ubuntu 的主要存储库中可用,我想 RHEL 和衍生版本可能也有它。
答案2
添加 Content-Type 标头,例如-a 'Content-Type: text/html; charset="iso-8859-1"'
或使用猜测 Content-Type 的邮件客户端(例如,GNU mailutils 可能这样做)。