我有一个cron作业,产生一个资源列表,到期date和到期date。 该报告生成一个CSV文件。 我使用mutt -a report.csv将其附加到消息中。
我也想在邮件的正文中包含信息。 我使用gawk将其格式化为简洁的线条,并将其添加到正文中。 它看起来像这样:
Resource Expiration Date Days ======================================== ========================= ======== resource one Oct 11 2009 07:59 PM 3 resource two Nov 3 2009 07:59 PM 22 resource three has a longer name Nov 6 2009 07:59 PM 28 rscrc 4 Dec 8 2009 07:59 PM 58 you get the point Dec 17 2009 07:59 PM 66 www.blockbuster1.smartsubs.net Dec 23 2009 07:59 PM 70
(是的,我欺骗了date和到期,他们不加在这个例子中)
问题是,大多数收件人没有将其电子邮件客户端configuration为使用固定宽度字体显示纯文本电子邮件。 所以,对他们来说,看起来像这样:
资源到期date天数
======================================== ========== =============== ========资源1 Oct 11 2009 07:59 PM 3
资源二2009年11月3日07:59 PM 22
资源三有更长的名字2009年11月6日07:59 PM 28
rscrc 2009年12月4日下午7时59分58
你得到的点12月17 2009 07:59 PM 66
www.blockbuster1.smartsubs.net Dec 23 2009 07:59 PM 70
是否有build议如何轻松地在电子邮件中格式化此文本,以便强制为固定宽度的字体? 我有灵活性来在这台服务器上安装新的命令行工具
如果你有一个足够的最新版本的mutt,我相信你可以做这样的事情。
mutt -e 'set content_type="text/html"' -a file.csv [email protected] -s "subject" < index.html
index.html将是您的消息的html正文。
我会说只是使用打印语句构build一个HTML表,哈克,但工作,我以前做过。
lesshacky,将使用csv到html表格转换器。 这里是一个awk 。 然后你可以发送html和明文,他们的阅读器应该使用。 你将不得不查找你使用的任何邮件库/程序如何做到这一点。
无论哪种方式,我会去与表试图强制固定宽度的字体。 我认为这个表格会更加一致(虽然我没有任何实际的证据)。
难道你不能用ap元素和内联样式设置为等宽字体和预格式化间距的整个事情吗?