Wie kann ich E-Mails über die Befehlszeile senden?
Wie kann ich E-Mails über die Befehlszeile senden?
Antworten:
Versuchen Sie, den Mutt E-Mail-Client zu installieren . Eine andere Option ist die Verwendung von Emacs mit Gnus . Andere Optionen auch verfügbar ... IMHO, sollten Sie mehr Details in Ihren Fragen oder mehrere verschiedene Antworten auf Ihre Frage verwenden, die Sie erhalten :-)
Installieren Sie ssmtp :
sudo apt-get install ssmtp
Bearbeiten Sie die ssmtp-Konfigurationsdatei:
gksu gedit /etc/ssmtp/ssmtp.conf
Fügen Sie den folgenden Text hinzu:
root=username@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=password
FromLineOverride=YES
UseTLS=YES
Führen Sie ssmtp aus und geben Sie die E-Mail-Adresse des Empfängers an:
ssmtp recepient_name@gmail.com
Geben Sie die Nachrichtendetails wie folgt an:
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.)
Drücken Sie zum Senden Ctrl+ D.
Sie können den Text auch in eine Datei einfügen und wie folgt senden:
ssmtp recipient_name@gmail.com < filename.txt
In den meisten Fällen sollte es nicht erforderlich sein, einen SMTP-Server zu konfigurieren, den Sie einfach mail
über die Befehlszeile verwenden können (falls nicht bereits vorhanden, installieren Sie ihn mit sudo apt-get install mailutils
). (Oder wenn Sie sich auf einem Server befinden, auf dem sendmail konfiguriert ist, usw.)
marco@dagobah:~$ mail -v marco.ceppi.use@gmail.com
Subject: Hello World!
This is an email to myself.
Hope all is well.
.
Cc:
Sie beenden Nachrichten mit einer einzigen .
Online-Verbindung. In diesem Fall mail
werden Sie aufgefordert Cc:
, die Informationen einzugeben (oder leer zu lassen), und mail
es werden zusätzliche Informationen zu dem, was versucht wird, ausgedruckt sowie die Verarbeitung des Verbindens, Übertragens und Empfangens von Daten vom Mail-Server detailliert beschrieben.
sudo apt-get install mailutils
installiert einen SMTP-Server postfix
, der für einige Leute etwas überladen sein kann.
apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail
Verwendungszweck:
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
Wenn Sie Ihr Kennwort nicht in der Befehlszeile angeben möchten (was im Allgemeinen nicht sinnvoll ist), können Sie diesen Parameter weglassen, und sendemail fordert Sie zur Eingabe des Kennworts auf ... und zeigt es auf dem Bildschirm an, aber zumindest Es wird nicht in Ihrem Befehlszeilenverlauf sein.
sendmail
größter Sicherheit sehr praktisch. Danke.
-s smtp.gmail.com:587
.
pass=$(cat my_password); sendemail... -xp $name ...
und natürlich , wenn Sie es sind Aufruf programmatisch können Sie etwas ähnliches, ex tun: Rubin , system("sendemail ... -xp #{File.read 'my_password'}...")
es könnte auch die Ausfall Beim ersten Mal sollten Sie eine E-Mail an dieses Konto senden, in der Sie vorschlagen, dass Sie weniger sichere Apps aktivieren, damit dies funktioniert.
Sie benötigen einen MTA, um E-Mails zu senden. Verwenden Sie dazu postfix:
sudo apt-get install postfix
So senden Sie eine E-Mail:
echo "test message" | mailx -s 'test subject' myemail@mydomain.com
mailutils
Als ich das in das Terminal
mail -s "subjet" -a "attchedfile_name" someone@dest_email.com
oder
cat "afile" | mail -s "subject" someone@dest_email.com
sudo apt-get install mailutils
in Ubuntu / Debian oder yum install mailx
in CentOS / Redhat
Alles wird erklärt hier .
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
und Sie sind auch mit SSL / TLS in Ordnung ;-)
openssl s_client -starttls smtp ...
Wenn Sie versuchen, E-Mails von einem System aus zu versenden, das keinen eigenen E-Mail-Server (dh Desktop-System) betreibt, müssen Sie so etwas wie nullmailer oder esmtp installieren , die Ihre lokale Mail an eine "echte" Mail weiterleiten Server.
Als Kommandozeilen-Tools können Sie mail oder mailx installieren (Pakete mailutils, heirloom-mailx oder bsd-mailx). Wenn Sie Anhänge benötigen, versuchen Sie es mit Biabam.
sudo apt-get install sharutils mailutils
uuencode filename filename | mail user@example.com
Wo filename
ist das gleiche: Es steht für Eingabedatei und Remote-Datei.
sudo apt-get install sharutils
füruuencode
Sie können dies versuchen:
mail name@mailserver.com -s "Attached file" <<EOF
Hi
~| uuencode $HOME/filename.txt filename.txt
EOF
Es funktioniert mit GNU Mailutils. Weitere Informationen finden Sie auf der Website.
Ausführen :
sudo apt-get install ssmtp
sudo -H gedit /etc/ssmtp/ssmtp.conf
Folgendes muss dort hinzugefügt werden:
# 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
Ausführen :
sudo -H gedit /etc/ssmtp/revaliases
Geben Sie dort ein:
root:yourusernameofgmail@gmail.com:smtp.gmail.com:587
Aktivieren Sie "weniger sichere Apps" in Google Mail:
https://support.google.com/accounts/answer/6010255?hl=de
Testen Sie es, indem Sie Folgendes auf dem Terminal ausführen:
echo "Body of mail is abc" | mail -s "Subject is xyz" "someusername@gmail.com"`
Außerdem habe ich immer noch diesen Fehler erhalten
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)
LÖSUNG: Führen Sie ein Zurücksetzen des Google Mail-Passworts durch, auch wenn das aktuelle Passwort korrekt ist