【问题标题】:send mail from linux terminal in one line [closed]在一行中从linux终端发送邮件[关闭]
【发布时间】:2013-12-17 14:22:15
【问题描述】:

我知道 linux 中有命令mail 可以通过命令行发送电子邮件。我怎样才能从终端发送一封简单的电子邮件?

例如:

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

电子邮件是否在没有任何确认或提示的情况下发送给用户?

原因是,当java 程序中发生特定事件时,我想通过电子邮件向自己发送一条简短消息。我的想法是我将使用Runtime.getRuntime()…等从我的java 程序发送mail command

我过去使用cron 做类似的事情,但当前的实现不使用cron,所以我需要尝试一下。

【问题讨论】:

    标签: linux email


    【解决方案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
    
    【解决方案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完成

        【讨论】:

        • 他在问在线命令。
        猜你喜欢
        • 2014-09-20
        • 2011-10-06
        • 1970-01-01
        • 2012-01-30
        • 1970-01-01
        • 2018-08-19
        • 2016-03-19
        • 1970-01-01
        相关资源
        最近更新 更多