Làm thế nào để gửi thư từ dòng lệnh?
Làm thế nào để gửi thư từ dòng lệnh?
Câu trả lời:
Hãy thử cài đặt Ứng dụng khách Mutt E-mail . Tùy chọn khác là sử dụng emacs với gnus . Các tùy chọn khác cũng có sẵn ... IMHO, bạn nên sử dụng nhiều chi tiết hơn trong các câu hỏi của mình hoặc một số câu trả lời khác nhau cho câu hỏi của bạn mà bạn sẽ nhận được :-)
Cài đặt ssmtp :
sudo apt-get install ssmtp
Chỉnh sửa tập tin cấu hình ssmtp:
gksu gedit /etc/ssmtp/ssmtp.conf
Nối văn bản sau:
root=username@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=password
FromLineOverride=YES
UseTLS=YES
Chạy ssmtp và cung cấp địa chỉ email người nhận:
ssmtp recepient_name@gmail.com
Cung cấp các chi tiết tin nhắn như sau:
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.)
Nhấn Ctrl+ Dđể gửi.
Bạn cũng có thể đặt văn bản trong tệp và gửi nó như sau:
ssmtp recipient_name@gmail.com < filename.txt
Hầu hết thời gian bạn không cần phải định cấu hình máy chủ SMTP, bạn chỉ cần sử dụng mail
từ dòng lệnh (nếu nó chưa có sẵn, hãy cài đặt với sudo apt-get install mailutils
). (Hoặc nếu bạn đang ở trên máy chủ nơi sendmail được định cấu hình, v.v.)
marco@dagobah:~$ mail -v marco.ceppi.use@gmail.com
Subject: Hello World!
This is an email to myself.
Hope all is well.
.
Cc:
Bạn chấm dứt tin nhắn với một .
dòng trên. Đó là khi nào mail
sẽ nhắc bạn Cc:
nhập thông tin (hoặc để trống) và mail
sau đó sẽ in ra thông tin bổ sung về những gì nó đang cố gắng làm, cũng như chi tiết xử lý kết nối, truyền và nhận dữ liệu từ máy chủ thư.
sudo apt-get install mailutils
sẽ cài đặt một máy chủ SMTP postfix
, một số người có thể hơi quá cân đối với một số người.
apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail
sử dụng:
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
Nếu bạn không muốn chỉ định mật khẩu của mình trong dòng lệnh (thường không phải là điều nên làm), bạn có thể bỏ qua tham số đó và sendemail sẽ nhắc bạn nhập mật khẩu ... và hiển thị nó trên màn hình, nhưng ít nhất là nó sẽ không có trong lịch sử dòng lệnh của bạn.
sendmail
chắc chắn nhất rất tiện dụng. Cảm ơn bạn.
-s smtp.gmail.com:587
.
pass=$(cat my_password); sendemail... -xp $name ...
và tất nhiên nếu bạn gọi nó bằng lập trình, bạn có thể làm điều gì đó tương tự, ví dụ: ruby system("sendemail ... -xp #{File.read 'my_password'}...")
cũng có thể thất bại Lần đầu tiên, bạn nên nhận email đến tài khoản đó đề nghị bạn "bật ứng dụng kém an toàn hơn" để nó có thể hoạt động.
Bạn cần một MTA để gửi thư. Đối với điều này, sử dụng postfix:
sudo apt-get install postfix
Để gửi email:
echo "test message" | mailx -s 'test subject' myemail@mydomain.com
mailutils
khi tôi nhập cái này vào thiết bị đầu cuối
mail -s "subjet" -a "attchedfile_name" someone@dest_email.com
hoặc là
cat "afile" | mail -s "subject" someone@dest_email.com
sudo apt-get install mailutils
trong Ubuntu / Debian hoặc yum install mailx
trong CentOS / Redhat
Tất cả mọi thứ được giải thích ở đây .
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
và bạn cũng ổn với SSL / TLS ;-)
openssl s_client -starttls smtp ...
Nếu bạn cố gửi e-mail từ một hệ thống, whitch không chạy máy chủ e-mail riêng (tức là hệ thống máy tính để bàn), bạn cần cài đặt một cái gì đó như nullmailer hoặc esmtp , để chuyển tiếp thư cục bộ của bạn sang thư "thực" người phục vụ.
Là công cụ dòng lệnh, bạn có thể cài đặt mail hoặc mailx (gói mailutils, heirloom-mailx hoặc bsd-mailx). Nếu bạn cần tệp đính kèm hãy thử biabam.
Tôi chưa bao giờ thử nó nhưng có một mail
lệnh có thể gửi thư. Xem thư người đàn ông .
Để kiểm tra email địa phương:
echo message | mail username@localhost
sudo apt-get install sharutils mailutils
uuencode filename filename | mail user@example.com
nơi filename
là như nhau: nó là viết tắt của tập tin đầu vào và tập tin từ xa.
sudo apt-get install sharutils
chouuencode
Bạn có thể thử điều này:
mail name@mailserver.com -s "Attached file" <<EOF
Hi
~| uuencode $HOME/filename.txt filename.txt
EOF
Nó hoạt động với GNU Mailutils , kiểm tra trang web để biết thêm thông tin.
Chạy :
sudo apt-get install ssmtp
sudo -H gedit /etc/ssmtp/ssmtp.conf
Những điều sau đây cần được thêm vào:
# 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
Chạy :
sudo -H gedit /etc/ssmtp/revaliases
Nhập vào đó:
root:yourusernameofgmail@gmail.com:smtp.gmail.com:587
Bật "ứng dụng kém an toàn" trên Gmail:
https://support.google.com/accountsals/6010255?hl=vi
Kiểm tra nó bằng cách chạy như sau trên thiết bị đầu cuối:
echo "Body of mail is abc" | mail -s "Subject is xyz" "someusername@gmail.com"`
Ngoài ra, tôi vẫn nhận được lỗi này.
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)
GIẢI PHÁP: thực hiện đặt lại mật khẩu gmail ngay cả khi mật khẩu hiện tại là chính xác ... có thể là biện pháp phòng ngừa bảo mật của Google