我绞尽脑汁想弄清楚如何使用 exim 发送 html 消息。
发送普通短信:
$ mail -s "Testing" [email protected]
123
CTRL-D
这工作正常,但我该如何指定Content-type: text/html
?
我的最终目标是能够做到这一点:
$ eximstats -html /var/log/exim4/mainlog | mail -s "Exim report" [email protected]
并让它以 HTML 电子邮件的形式到达
答案1
与所用 MTA 软件无关的通用方法是:
#!/bin/sh
cat << HEREFILE | /usr/sbin/sendmail -t
MIME-Version: 1.0
From: HTML SENDER <root@$( hostname )>
To: [email protected]
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
####
就 exim/postfix/qmail 而言,甚至sendmail -t
命令都应该是不可触及的,所有命令都模仿 sendmail,以兼容旧软件。
答案2
在 Kondybas 的帮助下,我决定采用以下方法:
#!/bin/bash
cd /var/log/exim4
cat << HEREFILE | /usr/sbin/sendmail -t
MIME-Version: 1.0
From: root@$( hostname -f)
To: [email protected]
Subject: Exim Report $(date +"%Y-%m-%d")
Content-Type: text/html; charset=UTF-8
$(/usr/sbin/eximstats -html mainlog mainlog.1)
HEREFILE