Отримайте cron для надсилання електронної пошти у форматі HTML


10

У мене є програма статистики, яка працює на лог-файлах через cron. Програма статистики може виводити HTML.

Зараз я покладаюсь на механізм MAIL_TO у кронтабі.

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"

Відповіді:


2

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


Дякую. Я дав трубочки на пошту йти, і я задоволений тим, що бачу. Все найкраще!
Марк L

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

@billynoah так, це має бути прийнятою відповіддю. Працює над archlinux, cronie 1.5.1-1
g33kz0r

працював над
центсосом

Працює в 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.