如何从命令行发送邮件?
如何从命令行发送邮件?
Answers:
尝试安装Mutt电子邮件客户端。另一种选择是将emacs与gnus一起使用。其他选项也可用...恕我直言,您应该在问题中使用更多详细信息,或者对问题有几个不同的答案:-)
安装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
然后打印出有关其正在尝试执行的操作的其他信息,以及详细说明从邮件服务器连接,传输和接收数据的过程。
sudo apt-get install mailutils
将安装一个SMTP服务器postfix
,该服务器对于某些人而言可能有些偏重。
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会提示您输入密码...并在屏幕上显示,但至少它不会出现在您的命令行历史记录中。
sendmail
最确定的方式发送邮件非常方便。谢谢。
-s smtp.gmail.com:587
。
pass=$(cat my_password); sendemail... -xp $name ...
当然,如果您以编程方式调用它,则可以执行类似的操作,例如:ruby system("sendemail ... -xp #{File.read 'my_password'}...")
也会失败第一次,您应该收到一封发送到该帐户的电子邮件,建议您“启用安全性较低的应用”,然后它才能正常工作。
您需要一个MTA来发送邮件。为此,请使用后缀:
sudo apt-get install postfix
发送电子邮件:
echo "test message" | mailx -s 'test subject' myemail@mydomain.com
mailutils
当我将其输入终端时它要求安装
mail -s "subjet" -a "attchedfile_name" someone@dest_email.com
要么
cat "afile" | mail -s "subject" someone@dest_email.com
sudo apt-get install mailutils
在Ubuntu / Debian或yum install mailx
CentOS / Redhat中
一切都在这里解释。
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
swaks
,您也可以使用SSL / TLS ;-)
openssl s_client -starttls smtp ...
sudo apt-get install sharutils mailutils
uuencode filename filename | mail user@example.com
哪里filename
相同:代表输入文件和远程文件。
sudo apt-get install sharutils
foruuencode
您可以尝试以下方法:
mail name@mailserver.com -s "Attached file" <<EOF
Hi
~| uuencode $HOME/filename.txt filename.txt
EOF
它与GNU Mailutils一起使用,请访问网站以获取更多信息。
运行:
sudo apt-get install ssmtp
sudo -H gedit /etc/ssmtp/ssmtp.conf
需要在此处添加以下内容:
# The user that gets all the mails (UID < 1000, usually the admin)
root=yourusernameofgmail@gmail.com
# The mail server (where the mail is sent to), both port 465 or 587 should be acceptable
# See also https://support.google.com/mail/answer/78799
mailhub=smtp.gmail.com:587
# The address where the mail appears to come from for user authentication.
rewriteDomain=gmail.com
# Use SSL/TLS before starting negotiation
UseTLS=Yes
UseSTARTTLS=Yes
# Username/Password
AuthUser=yourusernameofgmail
AuthPass=yourGmailPassowrd
AuthMethod=LOGIN
# Email 'From header's can override the default domain?
FromLineOverride=yes
运行:
sudo -H gedit /etc/ssmtp/revaliases
在那输入:
root:yourusernameofgmail@gmail.com:smtp.gmail.com:587
在Gmail上启用“安全性较低的应用”:https :
//support.google.com/accounts/answer/6010255?hl=zh_CN
通过在终端上运行以下命令进行测试:
echo "Body of mail is abc" | mail -s "Subject is xyz" "someusername@gmail.com"`
除了上面我仍然得到这个错误
echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv somebody@mil.gov
[<-] 220 smtp.gmail.com ESMTP v193sm19198825qka.18 - gsmtp
[->] EHLO localhost
[<-] 250 SMTPUTF8
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
[->] EHLO localhost
[<-] 250 SMTPUTF8
[->] AUTH LOGIN
[<-] 334 VXNlcm5hbWU6
[->] aG94Z2VuZUBrrrFpbC5jb20=
[<-] 334 UGFzweliecmQ6
[<-] 534 5.7.14 https://support.google.com/mail/answer/78754 v193sm19198825qka.18 - gsmtp
ssmtp: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 v193sm19198825qka.18 - gsmtp)
解决方案:即使当前密码正确,也要重置gmail密码...可能是Google安全措施