Получить cron для отправки электронных писем в формате HTML

10

У меня есть программа stats, которая работает с логами через cron. Программа stats может выводить HTML.

Прямо сейчас я полагаюсь на механизм MAIL_TO в crontab.

MAILTO=my@email.addr
55 23 * * * /usr/bin/htmlstats

Проблема в том, что я хочу, чтобы отправленное письмо отображалось как HTML, а не как обычный текст.

Cron помещает следующий заголовок в электронное письмо:

Content-Type: text/plain; charset="UTF-8"

Любая идея, как я мог бы изменить это на:

Content-Type: text/html; charset="UTF-8"
Марк Л
источник

Ответы:

3

Я не думаю, что ты можешь. Решением может быть передача данных в sendmail или mail, что дает вам больше контроля над типом контента и другими заголовками.

Якоб Борг
источник
Спасибо. Я дал трубку на почту, и я доволен тем, что вижу. Всего наилучшего!
Марк Л
CONTENT_TYPEРешение переменной упоминалось в другой ответ , кажется, работает , по крайней мере в некоторых версиях хрон.
Питер Айзентраут
22

Я положил CONTENT_TYPE="text/plain; charset=utf-8"в /etc/crontabмою почту в UTF-8.

Помещенный CONTENT_TYPE="text/html; charset=utf-8"в /etc/crontabдля отправки почты в HTML.

Вы можете добавить его в определенный файл, если каталог /etc/cron.d/существует. В этом случае спецификация определяется только для запрошенных задач.

Дом
источник
1
Это круто ... могу подтвердить, что оно работает на Ubuntu 14.04.2.
Биллиноа
@billynoah да, это должен быть принятый ответ. Работает над archlinux, cronie 1.5.1-1
g33kz0r
работал над centos
zzapper
Работает в Ubuntu 16
Марко Марсала
Не работает на MacOS Mojave.
Бурхан Али
-1

Да, ты можешь.

<?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 &'); ?>
Джордж СЕДРА
источник