Obtenez cron pour envoyer des e-mails au format html


10

J'ai un programme de statistiques qui s'exécute sur les fichiers journaux via cron. Le programme de statistiques peut produire du HTML.

En ce moment, je me fie au mécanisme MAIL_TO dans la crontab.

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

Le problème est que je veux que l'e-mail envoyé s'affiche en HTML et non en texte brut.

Cron place l'en-tête suivant dans l'e-mail:

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

Toute idée de comment je changerais cela en:

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

Réponses:


3

Je ne pense pas que vous puissiez. Une solution pourrait être de diriger la sortie vers sendmail ou mail, ce qui vous donne plus de contrôle sur le type de contenu et les autres en-têtes.


Merci. J'ai donné le tuyau pour envoyer un mail et je suis content de ce que je vois. Bonne chance!
Mark L

La CONTENT_TYPEsolution variable mentionnée dans une autre réponse semble fonctionner au moins dans certaines versions cron.
Peter Eisentraut

22

Je mis le CONTENT_TYPE="text/plain; charset=utf-8"en /etc/crontabavoir mon courrier en UTF-8.

Mettez CONTENT_TYPE="text/html; charset=utf-8"en /etc/crontabenvoyer le courrier au format HTML.

Vous pouvez l'ajouter dans un fichier spécifique si le répertoire /etc/cron.d/existe. Dans ce cas, la spécification est définie uniquement pour les tâches demandées.


1
C'est génial ... peut confirmer que cela fonctionne sur Ubuntu 14.04.2.
billynoah

@billynoah oui, cela devrait être la réponse acceptée. Fonctionne sur archlinux, cronie 1.5.1-1
g33kz0r

travaillé sur centos
zzapper

Fonctionne dans Ubuntu 16
Marco Marsala

Ne semble pas fonctionner sur macOS Mojave.
Burhan Ali

-1

Oui, vous pouvez.

<?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 &'); ?>
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.