在一行中从linux终端发送邮件[关闭]
Posted
技术标签:
【中文标题】在一行中从linux终端发送邮件[关闭]【英文标题】:send mail from linux terminal in one line [closed] 【发布时间】:2013-12-17 14:22:15 【问题描述】:我知道 linux 中有命令mail
可以通过命令行发送电子邮件。我怎样才能从终端发送一封简单的电子邮件?
例如:
mail user@gmail.com [subject] [body]
电子邮件是否在没有任何确认或提示的情况下发送给用户?
原因是,当java
程序中发生特定事件时,我想通过电子邮件向自己发送一条简短消息。我的想法是我将使用Runtime.getRuntime()
…等从我的java
程序发送mail command
。
我过去使用cron
做类似的事情,但当前的实现不使用cron
,所以我需要尝试一下。
【问题讨论】:
【参考方案1】:mail 可以代表 linux 系统上的许多程序。你想要的是 sendmail 或 postfix。我推荐后者。
您可以通过您最喜欢的包管理器安装它。然后你必须配置它,一旦你完成了,你可以像这样发送电子邮件:
echo "My message" | mail -s subject user@gmail.com
有关详细信息,请参阅手册。
就配置 postfix 而言,互联网上有很多关于如何配置的文章。 除非您在具有注册域的公共服务器上,否则您通常希望将电子邮件转发到您可以从中发送电子邮件的 SMTP 服务器。
例如,对于 gmail,请遵循 http://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/ 或任何其他类似的教程。
【讨论】:
Postfix 功能强大,但如果您只需要发送电子邮件,请尝试“ssmtp”。这个包更小,不运行像 postfix 这样的守护进程。它支持安全协议并适用于 gmail。 "程序'mail'当前没有安装。你可以通过输入安装它:apt-get install mailutils" 更轻量级:包nullmailer
加上bsd-mailx
。对于大多数工作站来说已经足够了 :) 由于nullmailer
包含一个sendmail
接口,您甚至可以跳过bsd-mailx
包并使用Hengjie's approach。
@oᴉɹǝɥɔ ssmtp
is deprecated. 请改用msmtp
。
mail -s "你的主题" dunn@mycompany.com javatpoint.com/…)【参考方案2】:
您可以使用带有管道的 echo 来避免提示或确认。
echo "This is the body" | mail -s "This is the subject" user@gmail.com
【讨论】:
***.com/a/8260951/3315914【参考方案3】:echo "Subject: test" | /usr/sbin/sendmail user@domain.com
这使您可以在一个命令行中执行此操作,而无需回显文本文件。这个答案建立在@mti2935 的答案之上。所以功劳就在那里。
【讨论】:
只是为了添加主题和正文的答案: echo -e "Subject: test \n\n Body content here\n" | sendmail user@domain.com【参考方案4】:对于 Ubuntu 用户:首先你需要安装 mailutils
sudo apt-get install mailutils
如果您使用的是 gmail 或 smtp,请设置电子邮件服务器。关注this link。然后使用此命令发送电子邮件。
echo "this is a test mail" | mail -s "Subject of mail" username@domain.com
如果您使用的是 gmail,但仍然遇到一些身份验证错误,那么您需要更改 gmail 的设置:
为不太安全的应用打开 Access from here
【讨论】:
【参考方案5】:你也可以使用sendmail:
/usr/sbin/sendmail user@domain.com < /file/to/send
【讨论】:
注意:我有 Postfix+S-Nail 。这对我有用。首先,我使用“Rohit Gupta”的答案并下载了邮件实用程序,然后你的,一切正常。【参考方案6】: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
【讨论】:
【参考方案7】:发送简单邮件:
$ mail -s "test message from centos" recipient@example.com
hello from centos linux command line
Ctrl+D完成
【讨论】:
他在问在线命令。以上是关于在一行中从linux终端发送邮件[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
无法在 codeigniter 中从 gmail 发送电子邮件,SMTP 身份验证错误