Получить 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 &'); ?>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.