如何从命令行通过电子邮件发送附件

如何从命令行通过电子邮件发送附件

是否可以通过命令行发送电子邮件附件?

如果可能的话,我想要一些简单的东西:

mail -a myfile.txt -t [email protected] -s "Here's my file"

答案1

在 Ubuntu 存储库中的所有邮件用户代理中,似乎杂种狗是获得长期支持的命令行 MUA。

根据手册,你可以做类似的事情:

mutt -a myfile.txt -s "Here's my file" -- [email protected]

但它不会去任何地方,因为还需要邮件传输代理。流行的有:

  • 令人尊敬的 sendmail
  • 后缀
  • exim4
  • 邮件系统
  • 空邮件程序

Canonical 似乎只支持 postfix(感谢 Steve 的修正)和exim4

也可以说xdg-电子邮件也是一个合适的 Ubuntu MUA,但它是一个只执行您首选的 MUA代表你。

如果您想了解哪种 MTA 适合您使用,可以在这里提出另一个问题。

答案2

我在发送附件文件时也遇到了麻烦。当我发送不带附件的电子邮件时,发送成功,但发送不带附件的电子邮件时却失败。此问题存在于sendemailmuttmailmailxuuencode命令中。

幸运的是,这个问题以一种有趣的方式解决了。我使用 Gmail 发送电子邮件。您可以通过终端中的命令配置您的 Gmail 以发送电子邮件,如下所示 http://www.linuxandlife.com/2013/01/send-email-from-linux-terminal.html

您可以使用以下方式发送文本电子邮件:

mail -s "hello" [email protected] < /home/masoud/YOURFILE.txt 

但是你不能发送相同的文件作为附件如下:

mail -s "hello" [email protected] -a /home/masoud/YOURFILE.txt

或者:

mail -s "hello" -a /home/masoud/YOURFILE.txt [email protected]

最后我明白了只有这种格式才能发送附件:

echo "your message here" | mail -s "title" -a /home/masoud/YOURFILE.txt [email protected]

有趣的是,不同之处在于“echo”命令的存在。

更新日期:201808

似乎-a选项已经更改为大写 -A现在用于附件。-a似乎是根据更改标题文档

答案3

我发现最近命令和参数已经发生了变化。

如果你想用这个命令发送附件:

mail -s "your subject" [email protected] -A /your/attachment/absolute/path < /home/you/message.txt

该选项attachment应该-A是 CAPITAL A

答案4

heirloom-mailxdebian 中的软件包提供了mailx可以轻松发送 mime 附件的命令。以下内容对我有用;

 mailx -a attachment.zip -s subject [email protected]

相关内容