我知道linux中有命令mail
通过命令行发送电子邮件。如何从终端发送一行简单的电子邮件?
例如:
mail user@gmail.com [subject] [body]
发送电子邮件时没有任何确认或提示给用户?
原因是,我希望在java
程序中发生特定事件时通过电子邮件向我发送简短消息。我的想法是,我将使用Runtime.getRuntime()
...等来发送mail command
程序中的java
。
我过去使用cron
做了类似的事情,但目前的实现并没有使用cron
,所以我需要尝试这样做。
答案 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 完成