con*_*fin 32 email command-line files
是否可以从命令行通过电子邮件发送附件?
如果可能的话,我想要一些简单的东西:
mail -a myfile.txt -t me@example.com -s "Here's my file"
Run Code Online (Sandbox Code Playgroud)
msw*_*msw 19
在 Ubuntu 存储库中的所有邮件用户代理中,mutt似乎是具有长期支持的命令行 MUA。
根据手册,您可以执行以下操作:
mutt -a myfile.txt -s "Here's my file" -- me@example.com
Run Code Online (Sandbox Code Playgroud)
除了它不会去任何地方,因为一个人还需要一个邮件传输代理。流行的有:
Canonical 似乎唯一支持的是 postfix (感谢 Steve 的更正)和exim4。
也可以说xdg-email也是一个合适的 Ubuntu MUA,但它是一个简单的前端,它只代表你执行你喜欢的 MUA。
如果您想了解哪种 MTA 可能适合您的使用,请在此处提出另一个问题。
小智 13
我在发送附件文件时也遇到了麻烦。当我发送没有附件的电子邮件时,它成功但没有附件。sendemail
, mutt
, mail
, mailx
,uuencode
命令存在此问题。
幸运的是,它被有趣地解决了。我使用 Gmail 发送电子邮件。您可以配置您的 gmail 以通过终端中的命令发送电子邮件,如 http://www.linuxandlife.com/2013/01/send-email-from-linux-terminal.html 所述。
您可以使用以下方式发送文本电子邮件:
mail -s "hello" RECEIVE@mail.com < /home/masoud/YOURFILE.txt
Run Code Online (Sandbox Code Playgroud)
但您不能发送与附件相同的文件,如下所示:
mail -s "hello" RECEIVE@mail.com -a /home/masoud/YOURFILE.txt
Run Code Online (Sandbox Code Playgroud)
或者:
mail -s "hello" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
Run Code Online (Sandbox Code Playgroud)
终于明白了,只有这种格式才能发附件:
echo "your message here" | mail -s "title" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
Run Code Online (Sandbox Code Playgroud)
有趣的是,不同之处在于存在“echo”命令。
现在似乎该-a
选项已更改为大写 -A
以进行附件。的-a
似乎是根据不断变化的报头的文档
小智 6
发现最近命令和参数都变了。
如果您想使用此命令发送附件:
mail -s "your subject" you@gmail.com -A /your/attachment/absolute/path < /home/you/message.txt
Run Code Online (Sandbox Code Playgroud)
选项attachment
应该是-A
which 是 CAPITAL A
。