Html biçimli e-postalar göndermek için cron alın


10

Günlük dosyalarında cron üzerinden çalışan bir istatistik programım var. İstatistik programı HTML çıktısı alabilir.

Şu anda crontab'daki MAIL_TO mekanizmasına güveniyorum.

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

Sorun, gönderilen e-postanın düz metin olarak değil HTML olarak görüntülenmesini istiyorum.

Cron e-postaya aşağıdaki başlığı yerleştirir:

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

Bunu nasıl değiştireceğime dair herhangi bir fikir:

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

Yanıtlar:


2

Yapabileceğini sanmıyorum. Bir çözüm, çıktıyı sendmail veya mail'e bağlamak olabilir, bu da size içerik türü ve diğer başlıklar üzerinde daha fazla kontrol sağlar.


Teşekkürler. Boruları bir mail atmak için verdim ve gördüklerimden memnunum. Herşey gönlünce olsun!
Mark L

CONTENT_TYPEBaşka bir cevapta belirtildiği değişken çözüm bazı cron sürümlerinde en azından işe görünmektedir.
Peter Eisentraut

22

Ben koymak CONTENT_TYPE="text/plain; charset=utf-8"içinde /etc/crontabUTF-8 Postamı olması.

Put CONTENT_TYPE="text/html; charset=utf-8"in /etc/crontabHTML içinde posta göndermek için.

Dizin /etc/cron.d/varsa onu belirli bir dosyaya ekleyebilirsiniz . Bu durumda, özellik yalnızca istenen görevler için tanımlanır.


1
Bu harika ... Ubuntu 14.04.2 üzerinde çalıştığını doğrulayabilir.
billynoah

@billynoah evet, bu kabul edilen cevap olmalı. Archlinux, cronie üzerinde çalışır 1.5.1-1
g33kz0r

centos üzerinde çalıştı
zzapper

Ubuntu 16'da çalışıyor
Marco Marsala

MacOS Mojave üzerinde çalışıyor gibi görünmüyor.
Burhan Ali

-1

Evet yapabilirsin.

<?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 &'); ?>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.