cronを取得してHTML形式のメールを送信する


10

cronを介してログファイルで実行する統計プログラムがあります。統計プログラムはHTMLを出力できます。

現在、私はcrontabの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"

回答:


3

できないと思います。解決策は、出力をsendmailまたはメールにパイプすることです。これにより、コンテンツタイプやその他のヘッダーをより詳細に制御できます。


ありがとう。私はメールを送信するためのパイプを与えました、そして私は私が見ているものに満足しています。ではごきげんよう!
Mark L

CONTENT_TYPE別の答えに記載された変数のソリューションは、いくつかのcronのバージョンでは、少なくとも動作するようです。
Peter Eisentraut 2013年

22

私が入れCONTENT_TYPE="text/plain; charset=utf-8"/etc/crontabUTF-8での私のメールを持っています。

入れCONTENT_TYPE="text/html; charset=utf-8"/etc/crontabHTMLでメールを送信します。

ディレクトリ/etc/cron.d/が存在する場合は、特定のファイルに追加できます。この場合、仕様は要求されたタスクに対してのみ定義されます。


1
これは素晴らしいです... Ubuntu 14.04.2で動作することを確認できます。
ビリーノア2015

@billynoahはい、これは受け入れられる答えになるはずです。archlinux、cronie 1.5.1-1で動作します
g33kz0r

centosに取り組みました
zzapper 2016

Ubuntu 16で動作
Marco Marsala 2018年

macOS Mojaveでは動作しないようです。
Burhan Ali

-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 &'); ?>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.