当前位置: 首页>>技术教程>>正文


如何从命令行发送邮件?

, ,

问题描述

如何从命令行发送邮件?

最佳解决办法

尝试安装The Mutt E-mail Client。其他选项是使用gnus的emacs。其他选项也可用…恕我直言,你应该在你的问题中使用更多的细节,或者你会收到几个不同的问题的答案:-)

次佳解决办法

  1. 安装ssmtpsudo apt-get install ssmtp

    command-line,email,ubuntu

  2. 编辑ssmtp配置文件:gksu gedit /etc/ssmtp/ssmtp.conf

  3. 附加以下文本:

    root=username@gmail.com
    mailhub=smtp.gmail.com:465
    rewriteDomain=gmail.com
    AuthUser=username
    AuthPass=password
    FromLineOverride=YES
    UseTLS=YES
    
  4. 运行ssmtp并提供收件人电子邮件地址:

    ssmtp recepient_name@gmail.com
    
  5. 提供消息详情如下:

    To: recipient_name@gmail.com
    From: username@gmail.com
    Subject: Sent from a terminal!
    
    Your content goes here. Lorem ipsum dolor sit amet, consectetur adipisicing.
    (Notice the blank space between the subject and the body.)
    
  6. Ctrl + D发送。


您也可以将文本放入文件并按如下方式发送:

ssmtp recipient_name@gmail.com < filename.txt

第三种解决办法

大多数情况下,您不需要配置SMTP服务器,只需在命令行中使用mail(如果它尚不存在,请使用sudo apt-get install mailutils进行安装)。 (或者如果你在配置sendmail的服务器上等)

marco@dagobah:~$ mail -v marco.ceppi.use@gmail.com
Subject: Hello World!
This is an email to myself.

Hope all is well.
.
Cc: 

用一条.在线终止消息。这时mail会提示您输入Cc:输入信息(或保留空白),然后mail将打印出有关它正在尝试执行的操作的附加信息,并详细说明从邮件服务器连接,发送和接收数据的处理过程。

第四种办法

apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail

用法:

sendemail -f fromuser@gmail.com -t touser@domain.com -u subject -m "message" -s smtp.gmail.com:587 -o tls=yes -xu gmailaccount@gmail.com -xp gmailpassword 

如果你不想在命令行中指定你的密码(通常不是一件好事),你可以省略该参数,sendemail会提示你输入密码……并将其显示在屏幕上,但至少它不会在你的命令行历史中。

第五种办法

mpack是发送文件附件的极好的命令行方式。

apt-get install mpack

用法:

mpack -s "file you wanted" ./data.pdf loser@supergoober.cn

第六种办法

你需要一个MTA来发送邮件。为此,请使用postfix:

sudo apt-get install postfix

发送电子邮件:

echo "test message" | mailx -s 'test subject' myemail@mydomain.com

HELP

第七种办法

安装包sendmail然后键入

sendmail -t receiver@example 

然后编写你的电子邮件,然后按Ctrl + D

第八种办法

您可以使用TelNet或NetCat从命令行发送电子邮件。

一切都是解释here

hanoo@hp_laptop% nc 127.0.0.1 25
220 hp_laptop.localdomain ESMTP Postfix
EHLO man
250 hp_laptop.localdomain
MAIL FROM: <netcat@postfix.com>
250 2.1.0 Ok
RCPT TO: <target@host.com>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
This is the body of my mail,
this is the second line...
.
250 2.0.0 Ok: queued as 9C12E7F404

第九种办法

mail -s "subjet" -a "attchedfile_name" someone@dest_email.com

要么

cat "afile" | mail -s "subject" someone@dest_email.com

第十种办法

如果您尝试从系统发送e-mail,whitch不运行自己的e-mail-server(即桌面系统),你需要像nullmaileresmtp,其向前发展的本地邮件安装到”real”邮件服务器。

作为命令行工具,您可以安装邮件或mailx(包mailutils,heirloom-mailx或bsd-mailx)。如果你需要附件尝试biabam。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/209.html,未经允许,请勿转载。