【问题标题】:unix mail file contents without truncating spaces不截断空格的 unix 邮件文件内容
【发布时间】:2016-03-11 21:48:51
【问题描述】:

下面是一个示例文件。我需要以文件内容作为邮件正文发送邮件。 我尝试了很多方法,如 printf、cat、管道到邮件命令,但都截断了空格。格式不同。 请提供建议。我如何才能获得文件中的电子邮件。

---------------------------------------------
Description                       |Date|Count
Audit Entries                     |07-DEC-15|5
COL File                          |07-DEC-15|1
-----------------------------------------------

【问题讨论】:

  • 请显示您发送邮件的方式。
  • 你用什么命令发送邮件?
  • 我尝试了几种方法.. 比如 #mesasge="$(cat "$EMAIL_MESSAGE")" #printf "%s" "$mesasge" | /bin/mail -s "$SUBJECT" "$EMAIL" cat "$EMAIL_MESSAGE" | /bin/mail -E -s "$SUBJECT" "$EMAIL"
  • @sudocode,我不了解 HTML。我喜欢收到一封电子邮件来检查我的前景。没有附件。我需要在消息正文中作为短信。

标签: linux unix


【解决方案1】:

如果您想发送包含文本列的邮件,并让这些列在 Outlook 中正确对齐,您必须更改 Outlook 设置或发送 HTML。

在 Outlook 2013 中,我通过这种方式找到了纯文本字体配置项:

  1. 文件菜单
  2. 选项菜单
  3. 邮件标签
  4. 文具和字体按钮
  5. 个人文具标签
  6. “撰写和阅读纯文本消息”标题下的字体按钮
  7. 在“字体”标题下(不是它上面的“亚洲文字字体”标题!)是选择器。选择 Lucida Console 或其他一些固定宽度的字体。

【讨论】:

【解决方案2】:

我希望空格在 shell 中被截断,如下例所示:

$ cat msg.txt
---------------------------------------------
Description                       |Date|Count
Audit Entries                     |07-DEC-15|5
COL File                          |07-DEC-15|1
-----------------------------------------------
$
$
$ message=$(cat msg.txt)

截断:

$ echo $message
--------------------------------------------- Description |Date|Count Audit Entries |07-DEC-15|5 COL File |07-DEC-15|1 -----------------------------------------------

不截断:

$ echo "$message"
---------------------------------------------
Description                       |Date|Count
Audit Entries                     |07-DEC-15|5
COL File                          |07-DEC-15|1
-----------------------------------------------
$

我认为您可以通过将消息内容输出到文件然后将其用作邮件命令的输入来简化事情,就像这样

mail -s "$SUBJECT" "$EMAIL" < the_file

【讨论】:

  • 我也试过这个。它仍然被截断。
  • 文件内容被截断了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-24
  • 1970-01-01
  • 2012-11-14
  • 2013-08-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-03
相关资源
最近更新 更多