我有一个需求,需要将某些输出作为电子邮件发送给我自己。例如df -h , free -m
等。我已使用 mailx 命令并使用命令覆盖 smtp 主机mailx -S smtp="smtphost.com"
,我能够收到邮件,但格式不正确,并且它以 的形式发送text/plain content type
。它没有对齐,阅读内容变得困难。
在所有论坛/博客中,我看到我们可以使用 sendmail 发送邮件内的 html 内容。但我想尝试通过覆盖 smtp 主机。但无法做到这一点。任何帮助都将不胜感激。
我认为 mailx 命令中必须有一种方法允许以 html 格式发送邮件,或者至少以 linux 中看到的制表符间距输出。如果这无论如何都不起作用,那么我需要让 sendmail 工作。
答案1
-a
使用查看开关mailx
。您可以将格式化的文件添加为附件:
echo '<html><b>This is and HTML message</b></html>' > /tmp/abc.htm
echo "test from $USERNAME attached" | mailx -s "Test message" -a /tmp/abc.htm [email protected]
如果您想要格式化的输出(ls -l
例如)将输出通过管道传输到abc.txt
并以相同的方式附加。
答案2
AFAIKsendmail 由 sendmail.org 提供不支持普通用户通过命令行指定 smtp 中继。
但您可以使用“sendmail look alike”例如邮件传输协议
许多 unix/linux 程序提供“sendmail 类似程序” - 支持发送电子邮件时使用的基本/典型 sendmail 命令行选项的可执行程序。其他 MTA/SMTP 服务器安装此类程序sendmail
。