Wie einrichten eines E-Mail-Agent für das Command-Line-E-Mail

0
160

Nachdem Sie Ihren server senden Sie E-Mails ist ein einfacher Weg, um Benachrichtigungen von bash-Skripten, Anwendungen und cron-jobs. Command-line-E-Mail funktioniert ähnlich wie eine persönliche E-Mail, und ist einfach zu konfigurieren und zu verwenden.

Wie Funktioniert Command-Line-E-Mail Arbeiten?

Wenn E-Mail ist unterwegs auf den Rohren des Internet, es ist in der Regel gesendet werden über das Simple Mail Transfer Protocol, oder SMTP. Der server verarbeitet das senden von mail ist ein so genanntes SMTP-server, und viele Kostenlose E-Mail Anbieter (Gmail, Yahoo, etc.) bieten SMTP-Server kostenlos. Dies ist ideal für diesen Anwendungsfall, da Sie nur konfigurieren müssen Sie den Befehl Linie app, die Sie senden.

Diese app ist aufgerufen, einen Mail-Transfer-Agent (MTA) und übernimmt die Kommunikation mit dem SMTP-server. Sie benötigen zur Authentifizierung der MTA mit SMTP-server, die in der Regel so einfach wie geben Sie Ihr Passwort oder Schlüssel. Dann wird der MTA in der Lage sein zu handeln, wie Sie und senden Sie E-Mails von Ihrem Konto.

Wenn Sie planen, das senden von E-Mails an Endanwender, die Sie benötigen, um zu konfigurieren weitere Informationen mit Ihrem SMTP-Anbieter. Dies bedeutet in der Regel die überprüfung Ihrer Domäne mit DKIM-und SPF-Authentifizierung, die beweist, dass Sie die Domäne besitzen und nicht spoofing Ihre Adresse. Sie können dies tun, mit Gmail, aber wenn Sie eine Menge von E-Mails, sollten Sie eine business-Lösung wie die von Amazon SES.

Wie Installieren und Konfigurieren von Postfix

Die einfachste Lösung für die Kommandozeilen-E-Mail ist die Verwendung von Postfix als MTA, mit einem kostenlosen SMTP-server, wie Gmail. Gmail-rate-begrenzt auf 100 E-Mails pro Tag, das ist wahrscheinlich genug für einfache E-Mail-Benachrichtigungen. Wenn Sie mehr benötigen, können Sie Amazon SES verwenden, oder SendGrid, die sollten beide drop-in Ersatz für den Gmail-SMTP-server in diesem Beispiel.

Postfix kann auch einen eigenen SMTP-server, aber es ist schwerer zu konfigurieren, und weniger kompatibel mit externen Empfänger, es sei denn, Sie konfigurieren die überprüfung der Domäne.

Die Installation von Postfix und libsasl2-modules, ein Paket für die Verwaltung von SMTP-Authentifizierung, die von Ihrer Distribution Paket-manager. Für Debian-basierte Systeme wie Ubuntu, das wäre:

sudo apt-get install postfix libsasl2-modules

Als Postfix installiert, werden Sie aufgefordert, für die Konfiguration. Auf dem ersten Bildschirm, wählen Sie “Internet-Seite” die Konfiguration von Postfix mit SMTP.

Die nächste Eingabeaufforderung wird Sie bitten, für Ihren domain-Namen. Sie brauchen keinen domain-Namen zu verwenden Postfix, aber Sie benötigen eine auf Ihre E-Mails von dieser Domäne-Namen. In diesem Beispiel, ohne Angabe der domain-Namen, Ihre E-Mails kommen aus dem Gmail-Konto, das Sie konfiguriert haben, für Postfix.

Als Nächstes müssen Sie die Authentifizierung von Postfix. Sie können Ihr Konto das Gmail-Passwort, das ist in Ordnung, wenn Sie ein neues Konto erstellen nur für Postfix, aber wenn Sie mit Ihrem persönlichen Konto, werden Sie wollen, um ein app-Kennwort festzulegen. Auf diese Weise kann das Passwort jederzeit widerrufen werden. Beachten Sie, dass Sie benötigen zwei-Faktor-Authentifizierung aktiviert, um Sie app-Passwörter.

Postfix speichert Authentifizierung Informationen, die in /etc/postfix/sasl/sasl_passwd. Diese Datei ist möglicherweise nicht vorhanden standardmäßig, so müssen Sie möglicherweise, um es zu schaffen mit touch. Öffnen Sie es, und fügen Sie Ihre Informationen in:

[smtp.gmail.com]:587 username@gmail.com:password

Dies konfiguriert Postfix für die Verwendung mit Google ‘ s SMTP-server und authentifizieren Sie sich mit Ihren Daten ein.

Führen Sie anschließend postmap auf sasl_passwd:

sudo postmap /etc/postfix/sasl_passwd

Dies generiert eine sasl_passwd.db-Datei von Postfix. Beide Dateien speichern Sie Ihr app-Passwort im Klartext, so dass Sie wollen, Sie zu beschränken, um root durch ausführen chown und chmod:

sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Postfix sollte nun bereit zu gehen, aber Sie benötigen, um zu konfigurieren Postfix die Haupt-Konfigurationsdatei zu verwenden, SMTP-relay und Ihre SASL-Anmeldeinformationen. Öffnen Sie /etc/postfix/main.cf in Ihrem Lieblings-text-editor, und suchen Sie den “relayhost” – option. Ändern Sie diese auf die Nutzung von Gmail SMTP-server:

relayhost = [smtp.gmail.com]:587

Dann am Ende der Datei, fügen Sie die folgenden Zeilen SASL konfigurieren und verwenden Sie Ihre Passwort-Datei.

# aktivieren, SASL-Authentifizierung
smtp_sasl_auth_enable = yes
# disallow Methoden, die es ermöglichen, die anonyme Authentifizierung.
smtp_sasl_security_options = noanonymous
# wo finden sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Aktivieren STARTTLS-Verschlüsselung
smtp_use_tls = yes
# wo finden Sie CA-Zertifikate
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

Speichern Sie diese Datei, dann starten Sie Postfix mit systemctl:

sudo systemctl restart postfix

Postfix sollte nun vollständig konfiguriert und als Standard-mail-handler auf Ihrem system. Sie können testen Sie es mit Postfix eigenen sendmail-Befehl:

sendmail recipient@gmail.com
AUS: youremail@gmail.com
THEMA: Hallo von Ihrem server!
Dies ist eine test-E-Mails von Ihrem server mit Postfix.
.

Überprüfen Sie Ihren Posteingang (oder Postausgang), und Sie sollten eine neue E-Mail. Sie können ausführen von sudo tail-f /var/log/mail.melden (oder E-mail.err) zur überprüfung der mail-Protokolle.

Wird Postfix so konfigurieren, sich als Ihr server die Standard-mail-handler. Irgendeine app oder ein Programm, die Anforderungen zu tun, die E-Mail nun Postfix standardmäßig, wie PHP (das nutzt Postfix ‘ s sendmail). Einige müssen möglicherweise zusätzliche Konfiguration, die in der Regel nur sagen, die app zu verwenden Postfix.

Wenn Sie nicht möchten, sendmail zu benutzen (da es ein wenig klobig) Sie können installieren Sie einen anderen mail-client. Eine gute client mutt, der unterstützt das senden von Dateien als Anhänge verwendet, und Postfix standardmäßig. Die syntax für einfache versenden:

echo “E-Mail-Inhalt” | mutt -s “Betreff” recipient@gmail.com

Und zum Anhängen von Dateien, die Sie benötigen, zu trennen die-a-Option Werte aus dem Empfänger mit einem doppelten Bindestrich “–“:

echo “E-Mail-Inhalt” | mutt -s “Betreff” -a /Pfad/zur/Datei — recipient@gmail.com

Die show wird in Ihrem Posteingang mit der Datei als Anhang, vorausgesetzt, dass es nicht auf eine Datei-Größe Grenzen, die durch den SMTP-server:

Welcher mail-client, den Sie wählen, jeder von Ihnen kann verwendet werden innerhalb von shell-Skripten, cron-jobs, und überall sonst können Sie konfigurieren zum ausführen von Unix-Befehlen.