在shell脚本中发送包含多个文件的邮件

时间:2015-03-11 15:08:35

标签: linux shell unix

路径中有三个或四个文件(* _error.txt)。我想发送带有这些附件的邮件。没有附件不稳定。它有所不同。

echo "Agents are started" | mailx -s "test" -a "ud-agt-dev1-05_error.txt" -a "*error.txt" kalselva@mail.com -r agent@mail.com

但它不起作用。

否则请以示例

向我推荐任何其他更好的

2 个答案:

答案 0 :(得分:1)

mailx的-a参数显然必须是单个文件,即不允许使用通配符。当我运行相当于mailx的电话时,我会收到错误

  

无法打开* error.txt

您可以根据需要添加尽可能多的-a filename,例如:

echo "Agents are started" | mailx -s "test" -a "ud-agt-dev1-05_error.txt"  $(ls *error.txt |xargs -i echo -a {}) kalselva@mail.com -r agent@mail.com

答案 1 :(得分:0)

您可以尝试使用其他工具发送电子邮件。 一个例子是mutt。

这是一个面向文本的交互式电子邮件客户端。人们可能会认为,在脚本中使用不是很有用。但仔细观察,该程序最终提供了一种发送带有文件附件的电子邮件的简便方法。

mutt -s "Subject line" -a file.jpg hey@sweden.org < main_body.txt

如何指定电子邮件的四个重要部分:

  • 收件人(“hey@sweden.org”)
  • 电子邮件的主体(从标准输入读取,此处从文件“main_body.txt”重定向)
  • 附件(带选项-a)
  • 主题行(选项-s)

我们可以使用多个-a选项添加更多附件。 您可以在网上查看有关mutt的更多信息。

希望它有所帮助。 再见