Я выдергиваю волосы, пытаясь понять, как отправить 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