Shell脚本发送电子邮件

87 linux email shell scripting

我在linux机器上,我监视进程使用情况.大部分时间我都会离开我的系统而且我可以在我的设备上访问互联网.所以我打算写一个shell脚本,可以把这个过程的输出邮寄给我.

可能吗?

如果是这样如何使shell脚本发送邮件?

请提供一个片段以便开始使用.

tro*_*foe 136

是的它工作正常,常用:

$ echo "hello world" | mail -s "a subject" someone@somewhere.com
Run Code Online (Sandbox Code Playgroud)

  • $ echo"你好世界"| mail -s"a subject"-a"attachment file"someone@somewhere.com用于发送文件 (28认同)
  • 不要忘记先安装邮件程序:`sudo apt-get install mailutils` (4认同)
  • 我在哪里可以找到此命令的预设教程?至于执行此命令,我需要配置一些东西. (3认同)
  • 接收者将在“From”字段中看到什么?在这种情况下,谁将是发件人? (2认同)

Bla*_*ear 22

基本上有一个程序来完成它,称为"邮件".可以使用-s指定电子邮件的主题,使用-t指定地址列表.您可以使用echo命令自己编写文本:

echo "This will go into the body of the mail." | mail -s "Hello world" you@youremail.com
Run Code Online (Sandbox Code Playgroud)

或者从其他文件中获取它:

mail -s "Hello world" you@youremailid.com < /home/calvin/application.log
Run Code Online (Sandbox Code Playgroud)

邮件不支持发送附件,但Mutt确实:

echo "Sending an attachment." | mutt -a file.zip -s "attachment" target@email.com
Run Code Online (Sandbox Code Playgroud)

请注意,Mutt比邮件更完整.你可以在这里找到更好的解释

PS:感谢@slhck,他指出我之前的回答很糟糕.;)

  • Stackoverflow应该是自包含的 - 它会花费你相同的时间来复制/粘贴该网站的URL并复制/粘贴要求的单线程@Ashwin. (2认同)
  • @slhck:已编辑.感谢您的评论,总有改进的余地.;) (2认同)

zca*_*ate 7

sendmail 在Mac上为我工作(10.6.8)

echo "Hello" | sendmail -f my@email.com my@email.com
Run Code Online (Sandbox Code Playgroud)