我想发送一个从另一个命令通过管道传输的 HTML 报告,例如:。当我当前执行此操作时,它会打印所有 html 标签。有没有办法可以设置所需的标头以使其以 HTML 格式显示?mycommandthatprintshtml | mail [email protected]
答案1
除了电子邮件正文之外,您还需要打印电子邮件标题:
echo "From: [email protected]\r\nDate: $(date)\r\nSubject: subject\r\nMIME-Version: 1.0\r\nContent-Type: text/html; charset=utf-8\r\n\r\n$(mycommandthatprintshtml)" mail [email protected]
请注意,“发件人”、“日期”、“主题”是强制性的。 MIME-Version 和 Content-Type 可帮助收件人了解电子邮件的格式。
答案2
使用 ssmtp,您可以从文件发送邮件并指定其中的标头(类似于 Federik 所做的)
ssmtp -t < 邮件.txt
邮件.txt:
to: [email protected]
bcc: [email protected]
From: [email protected]
MIME-Version: 1.0
Content-Type: text; charset=utf-8
Subject: Some subject
Dear Person,
....