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"

답변:


2

나는 당신이 할 수 있다고 생각하지 않습니다. 해결책은 출력을 sendmail 또는 mail로 파이프하여 컨텐츠 유형 및 기타 헤더를보다 잘 제어 할 수 있습니다.


감사. 나는 배관을 우편으로 보내었고 내가보고있는 것에 만족합니다. 모두 제일 좋다!
Mark L

CONTENT_TYPE다른 답변에서 언급 한 변수 솔루션은 일부 크론 버전 이상에서 작동하는 것 같다.
Peter Eisentraut

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에서 작동하는지 확인할 수 있습니다.
billynoah

@billynoah 예, 이것이 받아 들일만한 대답이어야합니다. archlinux, cronie 1.5.1-1에서 작동
g33kz0r

centos에서 근무
zzapper

우분투 16에서 작동
마르코 마르 살라

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.