从linux终端发送一行邮件

时间:2013-12-01 23:53:10

标签: linux email

我知道linux中有命令mail通过命令行发送电子邮件。如何从终端发送一行简单的电子邮件?

例如:

mail user@gmail.com [subject] [body]

发送电子邮件时没有任何确认或提示给用户?

原因是,我希望在java程序中发生特定事件时通过电子邮件向我发送简短消息。我的想法是,我将使用Runtime.getRuntime() ...等来发送mail command程序中的java

我过去使用cron做了类似的事情,但目前的实现并没有使用cron,所以我需要尝试这样做。

7 个答案:

答案 0 :(得分:189)

邮件可以代表linux系统上的几个程序。你想要的是 sendmail postfix 。我推荐后者。

您可以通过自己喜欢的包管理器安装它。然后你必须配置它,一旦你完成了,你可以发送这样的电子邮件:

 echo "My message" | mail -s subject user@gmail.com

有关详细信息,请参阅手册。

就配置postfix而言,互联网上有很多关于如何做的文章。 除非您在具有注册域的公共服务器上,否则通常希望将电子邮件转发到可以从中发送电子邮件的SMTP服务器。

对于gmail,例如,请关注 http://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/ 或任何其他类似的教程。

答案 1 :(得分:34)

您可以使用带管道的回声来避免提示或确认。

echo "This is the body" | mail -s "This is the subject" user@gmail.com

答案 2 :(得分:27)

echo "Subject: test" | /usr/sbin/sendmail user@domain.com

这使您可以在一个命令行中执行此操作,而无需回显文本文件。这个答案建立在@ mti2935的答案之上。所以很有信心。

答案 3 :(得分:11)

您也可以使用sendmail:

/usr/sbin/sendmail user@domain.com < /file/to/send

答案 4 :(得分:10)

对于Ubuntu用户:首先您需要安装mailutils

In [5]: date_example.value / 1000000
Out[5]: 1466467200000

如果您使用的是Gmail或smtp,请设置电子邮件服务器。关注this link。然后使用此命令发送电子邮件。

sudo apt-get install mailutils

如果您使用的是gmail,但仍然遇到一些身份验证错误,那么您需要更改gmail的设置:

为不太安全的应用from here

启用Access

答案 5 :(得分:5)

You can install the mail package in Ubuntu with below command.

对于Ubuntu - :

$ sudo apt-get install -y mailutils

对于CentOs - :

$ sudo yum install -y mailx

测试邮件命令 - :

$ echo "Mail test" | mail -s "Subject" youremail@domain.com

答案 6 :(得分:-3)

发送简单邮件:

$ mail -s "test message from centos" recipient@example.com
hello from centos linux command line

Ctrl + D 完成