如何在使用 sendmail 时覆盖 smtp 主机详细信息

如何在使用 sendmail 时覆盖 smtp 主机详细信息

我有一个需求,需要将某些输出作为电子邮件发送给我自己。例如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

相关内容