使用bash电子邮件发送的电子邮件在接收电子邮件客户端中显示得非常糟糕,因为它使用默认的非单类型字体显示邮件。
我把它分解成一个简单的例子。
稍微看了一下do编码,并把它变成附件,但是决定一定有一些简单的方法来说~“这里来了一些文本”或者用html包装它,但是我可以这样做,但是如何将html推到mail命令中。
csv文件:
$ cat file.csv
HEADER1,HEADER2,HEADER-3
value,value,value
value,value,value
$ csv文件更漂亮的视图:
$ column -ts, file.csv
HEADER1 HEADER2 HEADER-3
value value value
value value value
$这正是我想要显示在电子邮件中,以某种方式告诉它使用单一字体。
我想这么做:
$ column -ts, file.csv | mail -s "subject" user@someplace.com预期(请原谅bkgrd颜色):很好地排列文本
我得到了什么:同一文本在电子邮件客户端格式错误
发布于 2019-05-11 07:27:03
您完全可以使用命令行mailer S-钉来做您想做的事情,这是传家宝邮筒的最新分支,它们都是伯克利邮件的衍生产品。该命令对于所有包都是mailx,并将输入管道发送到stdin。该软件包是一个功能齐全的命令行邮件程序,具有广泛的功能和附件支持。
对于你的情况,你可以简单地做:
$ column -ts, file.csv | mailx -s "Subject Line" recipient@somedomain.com使用bash,您还可以使用进程替换并避免管道:
$ mailx -s "Subject Line" recipient@somedomain.com < <(column -ts, file.csv)或者,如果您只想将该文件作为附件包含,则可以:
$ echo "attached" | mailx -s "Subject Line" -a file.csv recipient@somedomain.com检查您的发行版,因为它可能为安装提供了s-nail或mailx包。
示例导致的电子邮件
从完整的头包括片段,以显示格式和编码。
To: david@nirvana.xxxxxxxxxxx.com
Subject: csv column
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20190511072931.BB7AF122BED@wizard.xxxxxxxxxxx.com>
From: david@wizard.xxxxxxxxxxx.com (David C Rankin)
HEADER1 HEADER2 HEADER-3
value value value
value value value
$https://stackoverflow.com/questions/56086122
复制相似问题