Send HTML email with mail, mailx, or sendmail?
所有..
我在问这个问题,是的,它可能看起来像一个新手在没有先搜索的情况下发布问题,但我有一个警告,在将其标记为重复或重复的类似已发布问题之前,我需要考虑一下!
我已经"googled"并在stackoverflow上进行了搜索,并尝试了几乎所有参数和方法的组合来获取通过mail、mailx或sendmail发送的电子邮件(不在乎,甚至会考虑其他方法),并让客户端将电子邮件识别为 HTML 并正确显示消息以及附件。
我的要求是找到一种方法,用一个命令同时发送 HTML 电子邮件和附加文件。
我正在使用 mail 和 mailx "12.4 7/29/08",但我不知道 sendmail 的版本。我正在使用 RHEL 的"Linux 2.6.32-504.8.1.el6.x86_64"(RHEL 6.6 Santiago)构建。
正在寻找以下任何一项?
-
如何找到允许我发送带有 HTML 的电子邮件、附加文件并在我的电子邮件客户端中将其检测为带有附件的 HTML 的程序?
-
格式化消息及其"正文"内容,并手动对要附加的文件进行编码,以便可以发送并让我的电子邮件客户端将其检测为带有附件的 HTML?
-
以上两者的结合?
我被难住了。我发现的许多帖子都告诉我,有各种各样的邮件和 mailx 版本以及具有不同模式的发行版。我不是将它从一台机器移植到另一台机器,也不是在寻找可移植的 bash 脚本代码。然而,我喜欢编写相当可移植和标准的干净代码,但这就像吃我的馅饼一样! :-)
- 我正在努力获得这样的声誉!一天中必须有时间,与生活、孩子、工作等一起回答问题! ;-) SpiceWorks 和其他论坛上的糟糕工作不算数!
Mailx html 内容在这个主题中 Mailx 发送 html 消息
附上她 http://www.unix.com/solaris/183753-mailx-attachment.html
我理解正确吗?
- 谢谢x93,不幸的是,这篇文章与我一直在寻找的相同。它提供了相同的"-a"参数,其中包含以下信息: -a 'Content-Type: text/html' 根据最新的 mail 或 mailx 手册页,这是不正确的:说明 Mailx 是 .... 也可用作为邮件批处理语言,用于发送和接收邮件。接受以下选项: -a file 将给定文件附加到消息中。
-
@jewettg 他们的解决方案对您不起作用?我不明白。参数 -a 应该添加任何允许的选项到 html 标头选项。对我来说这个代码:mailx -a 'Content-Type: text/html' -s"Subject email" your@mail <structure.html
-
我希望我拥有与您相同版本的 mailx 代码。我拥有的版本(并且我已经尝试过您的代码)确实接受带有"-a"参数的"html 标头选项"。请参阅与我的看起来相同的手册页:linux.die.net/man/1/mailx
-
你有哪个发行版的linux?我建议,当你有其他版本时。您可以使用外部编辑器,但有点困难。在主题 unix.stackexchange.com/questions/15405/...
-
感谢您对 x93 的所有帮助!我使用的是 RHEL 6.6,它没有该选项或提供 HTML 标头选项的选项。积极的一点是,我通过使用 UT Campus 可以使用的工具——UTBOX (box.com) 解决了这个问题,我可以在其中将查询输出生成为 HTML 并使用 mime 发送它(使用 sendmail -t)标头:("Mime 版本:1.0"\\t"内容类型:文本/html")。然后我向 UTBOX 发送一封邮件(将电子邮件地址分配给特定文件夹的酷功能)并发送一封带有:mail -a 参数的电子邮件并指定一个文件名,然后它会发送一封带有附件的邮件。 ;-)
-
好的,是的,问题出在 Redhat 发行版中。那么UT Campus,你能在这个api上添加链接吗?
-
如果您指的是用于将电子邮件发送到文件夹的 box.com API,请访问:support.box.com/hc/en-us/articles/...
-
但是这个用于 GUI 的 api。我认为 api 用于控制台,作为参数 -t 的示例。
-
您可以通过 Web GUI 定义文件夹和电子邮件地址。复制电子邮件地址,您发送到该电子邮件地址的任何内容都将归档到相应的文件夹中。您可以使用唯一的电子邮件地址拥有任意数量的文件夹。
-
这是电子邮件到文件夹的 bash 脚本代码(使用上述代码)。 echo" | mail -a"$attachFile" -s"$eDate" -r"[email protected]""upload.*******@u.box.com"。请注意echo" 通过管道传送到邮件命令的标准输入。如果您不这样做,它将吞噬任何其他用于循环的标准输入,并导致循环意外终止等(学习困难)。
-
命令是好的,但是我还是不太明白,对不起。它是云服务电子邮件吗?因为在您的链接中我没有找到,所以只有德克sassstate云中 GUI 电子邮件客户端的引用。你说,这是电子邮件的 api。没有提到 bash 命令行。也许我理解错了。你通过电子邮件云客户端(box.com 或类似的东西)从 linux 控制台发送电子邮件:你从哪里得到命令(bash)?邮件云服务与linux连接,分别有这些选项吗?
-
附录:也许我的想法,如果你使用 webdav,或者自定义脚本从 linux 远程访问 box.com,但我不知道....
-
我向 @x93 道歉。如果您有 BOX (box.com) 帐户、云同步服务,那么您可以利用我一直在解释的内容。这不是通用或匿名服务。因此,如果您有 BOX 帐户,您可以使用此服务,通过电子邮件将文件发送到电子邮件地址并将其放置在指定的文件夹中。
-
好的,那么从 linux 发送是否连接了此服务?分别是如何使用的。我现在理解正确了吗?我怀疑,这对大多数人来说是常见的事情。我可以在 api box.com 页面上找到提到 bash 命令的地方。你还是不说,这个我在哪里可以找到。谢谢!
-
你必须有一个免费的盒子帐户。访问 box.com 了解更多详情。拥有帐户后,请阅读以下内容:来自 Box 的电子邮件通知。混淆可能是这不是 SMTP/sendmail 服务。这只是将文件传送到 Box.com 上的目标文件夹的一种很酷的方式!您使用 bash/Linux 命令行或脚本来使用 sendmail 或 mail 将电子邮件发送到邮箱,它会将附件放入适当的文件夹中。干杯!
-
好吧,那是废话,我除了一些在Linux上直接托管的接口。您使用任何通常的可能默认发件人电子邮件 bash 脚本,该脚本通常可以正常工作,并且您与组合功能文件夹 box.com 一起使用。是这样吗?这似乎是两种解决方案的结合。加油:)