在一行中从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】:

ma​​il 可以代表 linux 系统上的许多程序。你想要的是 sendmailpostfix。我推荐后者。

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

 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终端发送邮件[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

无法从 linux 终端发送电子邮件

如何在 php 中从 localhost 发送电子邮件?

无法在 codeigniter 中从 gmail 发送电子邮件,SMTP 身份验证错误

无法在实时服务器中从Laravel发送邮件[重复]

如何在 Docker 容器中从 WordPress(联系表格)发送电子邮件?

如何在Mac上的PHP中从Xampp本地主机发送邮件?