In diesem Tutorial erfahren Sie, wie Sie sSMTP , einen einfachen Weiterleitungsserver , installieren .
Mailtrap.io bietet Entwicklern einen gefälschten E-Mail-Server. Verwenden Sie diese Option, um Berichte oder E-Mails während der Entwicklungsphase an echte Adressen zu senden, diese jedoch auf Mailtrap.io abzufangen (sie werden niemals an den endgültigen Empfänger gesendet) und sofort zu sehen, wie Ihre HTML-E-Mail gerendert wird oder wie eine neue CTO-Schaltfläche hervorsticht.
Durch die Integration von sSMTP und Mailtrap kann Ihr Ubuntu Development VPS denselben E-Mail-Senderserver für allgemeine Mailingzwecke verwenden, z. B. für die Berichterstellung zum Abschluss von Cron-Jobs.
Auf diese Weise können Sie Ihre Anwendung mit echten E-Mail-Adressen testen und ein Gefühl dafür bekommen, wie sie sich auf der Clientseite verhält, ohne die E-Mail-Konten Ihrer persönlichen Mitarbeiter oder Kollegen zu überfluten.
Voraussetzungen
- Vultr VPS mit Ubuntu 16.04 installiert und aktualisiert.
- Mailtrap.io-Konto.
- Ein Nicht-Root- Sudo-Benutzer .
- Wir verwenden einen Texteditor Ihrer Wahl
nano
.
- Backup oder ein Snapshot Ihrer aktuellen Installation.
Installationsverfahren
Melden Sie sich als regulärer Benutzer bei Ihrem VPS an. Machen Sie sich selbst zum Administrator, indem Sie Folgendes ausgeben.
sudo su
Dann bestätigen Sie es mit Ihrem Passwort. Installieren Sie das sSMTP-Paket für die Serverseite mit mutt als Mail-Client zu Testzwecken.
apt install ssmtp mutt
Aufbau
Jetzt müssen Sie dafür sorgen, dass es mit Ihrem mailtrap
Konto funktioniert .
Sie benötigen Ihre Anmeldeinformationen und Servernamen. In unserem Fall ist der Server smtp.mailtrap.io
mit Port 2525
.
Wir bearbeiten zwei Dateien. Bearbeiten Sie zunächst die Konfigurationsdatei, während Sie noch als root angemeldet sind.
nano /etc/ssmtp/ssmtp.conf
Standardmäßig sieht es wie folgt aus.
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=example.com
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES
An dieser Stelle können Sie die Einträge so bearbeiten, dass sie Ihren eigenen Werten entsprechen, oder einfach den gesamten Inhalt durch Ihre spezifischen Informationen ersetzen. Die großgeschriebenen Einträge enthalten Ihre tatsächlichen Daten. USERNAME@EXAMPLE.COM
ist die E-Mail, von der aus Sie die E-Mails senden möchten. MAILTRAP_USERNAME
und MAILTRAP_PASSWORD
werden für Sie bei Mailtrap.io generiert. Beide sind lange, zufällige Zeichenfolgen. Schlagen Sie es in Ihrem Mailtrap-Posteingang unter nach SMTP Settings
.
root=USERNAME@EXAMPLE.COM
mailhub=smtp.mailtrap.io:2525
AuthUser=MAILTRAP_USERNAME
AuthPass=MAILRTRAP_PASSWORD
FromLineOverride=Yes
Speicher die Datei. Mit Nano " Ctrl-X
" drücken und mit " Y
" bestätigen .
Die zweite Datei, die bearbeitet werden muss, dient zum Zuordnen lokaler Benutzerkonten zu externen E-Mail-Adressen und zum umgekehrten Aliasing. Rufen Sie die Datei auf.
nano /etc/ssmtp/revaliases
Fügen Sie Ihre Einträge am Ende hinzu, damit es ungefähr so aussieht wie dieser Text.
# sSMTP aliases
#
# Format: local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:USERNAME@EXAMPLE.COM:smtp.mailtrap.io:2525
username:USERNAME@EXAMPLE.COM:smtp.mailtrap.io:2525
Im Wesentlichen sollte das System alle E-Mails vom lokalen Konto root
als E-Mail-Benutzer USERNAME@EXAMPLE.COM
über den mailtrap
Server senden . Geben Sie so viele Benutzer ein, wie Sie benötigen, jeder in einer eigenen Zeile. Wenn Sie nur root
Nachrichten senden müssen, lassen Sie einfach andere Zeilen weg. Sie können später wiederkommen und Benutzer nach Bedarf hinzufügen.
Speicher die Datei. Mit Nano " Ctrl-X
" drücken und mit " Y
" bestätigen .
Sie sind fertig. Vielleicht möchten Sie es in Aktion sehen, indem Sie sich eine E-Mail senden. Erstellen Sie dazu Ihre Nachricht und senden Sie sie.
echo "This is the body" | mutt -s "Hello World" SEND_TO_USERNAME@EXAMPLE.COM
Melden Sie sich in Ihrem Mailtrap-Konto an und überprüfen Sie Ihren Demo-Posteingang. Die Mail sollte dort schon warten.
Fazit
Wechseln Sie schließlich Ihre Terminalsitzung von root
zurück zum regulären Benutzer.
exit
Fügen Sie optional MAILTO=SEND_TO_USERNAME@EXAMPLE.COM
Ihre Crontab hinzu. Um einen schnellen Test durchzuführen, überprüfen Sie beispielsweise die Unterordner in Ihrem /home
Ordner jede Minute und bearbeiten Sie die Crontab.
crontab -e
Wählen Sie bei Bedarf Ihren Editor aus und fügen Sie diese Zeilen am Ende hinzu / bearbeiten Sie sie so, dass sie dem folgenden Text ähneln.
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
mailto=SEND_TO_USERNAME@EXAMPLE.COM
* * * * * ls /home
Dies wird ls /home
jede Minute ausgeführt und MAILTO
sendet die Antwort an diese Adresse, da ein Eintrag hinzugefügt wurde. Weitere Informationen zu Crontab-Tabellen finden Sie hier .
Speichern Sie es beim Beenden. Erwarten Sie jede Minute eine E-Mail in Mailtrap.