问题描述
如何从命令行发送邮件?
最佳解决办法
尝试安装The Mutt E-mail Client。其他选项是使用gnus的emacs。其他选项也可用…恕我直言,你应该在你的问题中使用更多的细节,或者你会收到几个不同的问题的答案:-)
次佳解决办法
-
安装ssmtp:
sudo apt-get install ssmtp
-
编辑ssmtp配置文件:
gksu gedit /etc/ssmtp/ssmtp.conf
-
附加以下文本:
root=username@gmail.com mailhub=smtp.gmail.com:465 rewriteDomain=gmail.com AuthUser=username AuthPass=password FromLineOverride=YES UseTLS=YES
-
运行ssmtp并提供收件人电子邮件地址:
ssmtp recepient_name@gmail.com
-
提供消息详情如下:
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.)
-
按
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
第七种办法
安装包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(即桌面系统),你需要像nullmailer或esmtp,其向前发展的本地邮件安装到”real”邮件服务器。
作为命令行工具,您可以安装邮件或mailx(包mailutils,heirloom-mailx或bsd-mailx)。如果你需要附件尝试biabam。