2011-11-24 133 views
121

我知道有办法在Linux/MacOS上从终端发送电子邮件,但我似乎无法找到有关如何执行此操作的适当文档。如何从终端发送邮件?

基本上我需要它为我的bash脚本,每当文件发生变化时通知我。

+2

它可能应该指出的是某些主机和ISP“关闭”为您发送电子邮件的功能的文件。我认为这是一个试图阻止人们通过他们发送垃圾邮件和进行网络钓鱼 –

+0

@JimJeffries哪些?我正在使用Amazon EC2 Web服务器。 – ckjbgames

回答

110
echo "this is the body" | mail -s "this is the subject" "[email protected]" 
+14

请注意,所有这些解决方案都假定您拥有本地安装的MTA – Miquel

+8

@Miquel优点。在Ubuntu中,您可以通过'sudo apt-get install mailutils'来获得必备条件。 – earldouglas

+3

@詹姆斯,这是不工作我的MAC(((你能帮我吗? – neo

34

如果你需要的是一个主题行(如警报消息)简单地做:

mailx -s "This is all she wrote" < /dev/null "[email protected]" 
+0

我最喜欢的地方 –

+0

@medTechy我很高兴你觉得它很有用 – JRFerguson

+0

非常有用...非常感谢!! – Shambho

7

在终端上您的Mac OS或Linux操作系统类型的代码

mail -s (subject) (receiversEmailAddress) <<< "how are you?" 

为例尝试此

mail -s "hi" [email protected] <<< "how are you?"<br> 
13

如果要附加在Linux上

echo 'mail content' | mailx -s 'email subject' -a attachment.txt [email protected] 
+3

它为我的附件提供了一个'invalid header'消息,正确的选项是一个大写的'-A'。 – Stephane

+0

@Stephane根据patrick-haugh的说法,-a是附件开关。 -A用于帐户命令。请参阅手册页:https://linux.die.net/man/1/mailx – MiaeKim