我有一个通过 cron 在日志文件上运行的统计程序。该统计程序可以输出 HTML。
现在我依赖于 crontab 中的 MAIL_TO 机制。
[email protected]
55 23 * * * /usr/bin/htmlstats
问题是我希望发送的电子邮件显示为 HTML 而不是纯文本。
Cron 在电子邮件中放置以下标题:
Content-Type: text/plain; charset="UTF-8"
知道如何将其更改为:
Content-Type: text/html; charset="UTF-8"
答案1
我认为你不能。一个解决方案可能是将输出通过管道传输到 sendmail 或 mail,这样你就可以更好地控制内容类型和其他标头。
答案2
我把邮件设置CONTENT_TYPE="text/plain; charset=utf-8"
为/etc/crontab
UTF-8 格式。
输入以 HTMLCONTENT_TYPE="text/html; charset=utf-8"
格式/etc/crontab
发送邮件。
如果目录/etc/cron.d/
存在,您可以将其添加到特定文件中。在这种情况下,仅针对请求的任务定义规范。
答案3
是的你可以。
<?php exec('( echo "test<br>créer un mail"| mail -s "SUBJECT" -a "Content-Type: text/html; charset=UTF-8" '.$receiver.' -- -f '.$sender.' ) &> /dev/null &'); ?>