Wie sende ich eine E-Mail über die Befehlszeile oder das Skript? Ich möchte das Skript programmgesteuert ausführen können, indem ich den Empfänger und die Nachricht übergebe.
email
development
command-line
script
Michelemarcon
quelle
quelle
Antworten:
mail -s subject [email protected]
Geben Sie Ihre Nachricht ein und drücken Sie, um den VorgangCtrl+D
zu beendenquelle
echo This will be the body of the email | mail -s "This is the Subject" [email protected]
Mir sind zwei Programme bekannt, mit denen Sie Ihren Mac problemlos so konfigurieren können, dass E-Mails über die Befehlszeile gesendet werden.
Ich habe für beide HOWTOs geschrieben:
Von den beiden schlage ich vor
msmtp
.Die Konfiguration ist so kompliziert, dass ich nicht sicher bin, ob ich alle Schritte hier replizieren soll, aber ich werde erwähnen, dass Sie msmtp installieren können , wenn Sie Homebrew verwenden
brew install msmtp --with-macosx-keyring
Der Rest ist nur eine Frage des Einrichtens der zugehörigen Konfigurationsdateien
Das erste ist
/usr/local/etc/msmtprc
Beachten Sie, dass die
tls_trust_file
Zeile auf die Stelle verweisen sollte, an der Sie die Zertifikate von https://www.thawte.com/roots/index.html heruntergeladen und installiert haben .Ich habe meine in
~/Dropbox/Thawte Roots
so, dass ich es auf allen meinen Macs haben kann.Dann benötigen Sie eine
~/.mailrc
Datei, um anzugeben, wo sich die msmtp-Binärdatei befindet. Wenn Sie es verwendenbrew
,/usr/local/bin/msmtp
sieht die Datei folgendermaßen aus:Der letzte, aber entscheidende Schritt besteht darin, sicherzustellen, dass Ihr Schlüsselbund die Informationen genau in dem von msmtp erwarteten Format enthält:
Ich denke, das deckt die meisten Details ab. Weitere Informationen finden Sie unter http://www.tuaw.com/2010/05/04/msmtp-a-free-tool-to-send-email-from-terminal/ .
quelle
[email protected]
Ihre Google Mail- oder Google Apps-E-Mail-Adresse.~/.msmtprc
Die einfachste Methode zum Senden von E-Mails ist eine Telnet-Sitzung mit dem SMTP-Server Ihres Providers / Netzwerks. Nachdem Sie den Server kontaktiert haben und nach jedem Befehl antwortet der Server, wenn er den Befehl mit "250 OK" annimmt oder wenn keine Fehlermeldung angezeigt wird.
Alle Details finden Sie in RFC2821 - Simple Mail Transfer Protocol, Google dafür. Diese grundlegende Methode eignet sich hervorragend zum Testen, warum beim Versenden von E-Mails etwas schief geht, aber ich denke, es ist ziemlich kompliziert, das Skript vollständig zu prüfen.
Rufen Sie zuerst eine Befehlszeilenschnittstelle auf Ihrem Computer auf, indem Sie Terminal starten. Fahren Sie dann nacheinander mit den folgenden Befehlen fort.
Öffnen Sie eine Telnet-Sitzung zu Port 25 des SMTP-Servers Ihres Providers / Netzwerks
Sagen Sie Hallo und den Internetnamen Ihres Providers / Netzwerks, wie z. B. abc.com
Es wird eine Absenderadresse von = benötigt, die <und> sind Teil des Befehls
Geben Sie ein oder mehrere Ziele an. Die <und> sind Teil des Befehls
Teilen Sie dem Server mit, dass Sie Daten senden möchten
Nun sollte der Server antworten, Sie können mit dem Versenden Ihrer E-Mails beginnen und gehen in den Datenmodus
Beenden Sie jetzt Daten mit einem Punkt als Zeichen in einer Zeile
Der Server kehrt in den Befehlsmodus zurück, damit Sie ihn beenden können
quelle
Dies funktionierte für mich, es wurde für Lion geschrieben, funktioniert aber für Mountain Lion. Übrigens verwendet Google Mail, wenn Sie nicht ...
Sie müssen nichts herunterladen! (Richten Sie einfach ein Google Mail-Konto ein.)
http://www.anujgakhar.com/2011/12/09/using-macosx-lion-command-line-mail-with-gmail-as-smtp/
Konfigurieren Sie Postfix für Gmail SMTP. Bearbeiten Sie die Datei /etc/postfix/main.cf
und füge im Folgenden die auskommentierten Relayhosts hinzu: -
Generieren Sie sasl_password, falls es noch nicht existiert
und geben Sie Folgendes ein: -
Führen Sie die folgenden Befehle aus
Und du bist fertig ...
Nun sollten Sie in der Lage sein, E-Mails über die Befehlszeile zu senden, um beispielsweise den Inhalt eines Verzeichnisses als Baum an eine E-Mail-Adresse zu senden
quelle
mtcmail ist eine weitere Option: http://www.macupdate.com/app/mac/33505/mtcmail-cli .
[Ignorieren Sie diesen zusätzlichen Text. Hinzugefügt, weil: body mindestens 30 Zeichen haben muss; du hast 27 eingegeben.]
quelle
Möglicherweise möchten Sie postfixconf auschecken , mit dem OS X zum Senden von E-Mails über die Befehlszeile aktiviert und konfiguriert wird (unter Verwendung Ihrer Eingabe).
Es basiert auf der Postfix-Konfiguration, die hier , hier und hier im Web gut dokumentiert ist .
quelle
Da es auf Unix basiert, können Sie den Befehl sendmail verwenden .
quelle