Назад | Перейти на главную страницу

Exim: электронная почта eximstats -html report

Я выдергиваю волосы, пытаясь понять, как отправить html-сообщение с помощью exim.

Чтобы отправить обычное текстовое сообщение:

$ mail -s "Testing" me@mydomain.com
123

CTRL-D

Это нормально работает, но как я могу указать Content-type: text/html?

Моя конечная цель - уметь это:

$ eximstats -html /var/log/exim4/mainlog | mail -s "Exim report" me@mydomain.com

и получить его как электронное письмо в формате html

Универсальный подход, безразличный к используемому программному обеспечению MTA:

#!/bin/sh

cat << HEREFILE | /usr/sbin/sendmail -t
MIME-Version: 1.0
From: HTML SENDER <root@$( hostname )>
To: me@domain.tld
Subject: HTML formatted message
Content-Type: text/html; charset=UTF-8

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body>
  Hello, <B>admin</B>!
</body></html>
HEREFILE
####

Четный sendmail -t команда должна быть неприкосновенной, поскольку exim / postfix / qmail все имитируют sendmail для совместимости со старым программным обеспечением.

Вот на чем я остановился с помощью Кондыбаса:

#!/bin/bash

cd /var/log/exim4

cat << HEREFILE | /usr/sbin/sendmail -t
MIME-Version: 1.0
From: root@$( hostname -f)
To: YOUREMAIL@DOMAIN.COM
Subject: Exim Report $(date +"%Y-%m-%d")
Content-Type: text/html; charset=UTF-8

$(/usr/sbin/eximstats -html mainlog mainlog.1)

HEREFILE