Secure sSMTP
Bitte nicht verwenden!
In manchen Situationen will man sich nicht immer einen Sendmail ans Bein binden, lieber lässt man E-Mails über einen fremden SMTP Server laufen.
In diesem Artikel gehen wir von folgenden Parametern aus:
Name | Wert |
---|---|
Hostname | kiste |
Domain | sample.org |
SMTP Server | mail.example.com |
SMTP Port | 587 |
Nutzername | user@example.com |
Passwort | VerySecret1 |
Wir wollen Letztendlich die Mails an someone@whatever.com
verschicken.
Sendmail deaktivieren
Dies macht man durch ein paar Einträge in der /etc/rc.conf
:
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
Danach versuchen jegliche Sendmail Instanz abzuschießen:
killall sendmail
sSMTP installieren
cd /usr/ports/mail/ssmtp
make config-recursive install replace clean
Die replace Anweisung ersetzt Sendmail als
Standard in /etc/mail/mailer.conf
.
Nochmal nachschauen: Die Einträge mit /usr/libexec/sendmail/sendmail
sollten auskommentiert worden sein, und es sollten neue Einträge drin sein
mit /usr/local/sbin/ssmtp
.
Weiterhin sollten der User und die Gruppe ssmtp erstellt worden sein.
sSMTP einrichten
Die Konfiguration wird unter /usr/local/etc/ssmtp
gesucht.
Der Ordner sollte existieren und der Gruppe ssmtp gehören.
Die Einstellungen in der /usr/local/etc/ssmtp/ssmtp.conf
:
Root=postmaster
MailHub=mail.example.com:587
#RewriteDomain=whatever.com
Hostname=kiste.sample.org
FromLineOverride=YES
UseSTARTTLS=YES
AuthUser=user@example.com
AuthPass=VerySecret1
Root
: Der Empfänger an die die Mails für den root User gehen sollen. Es ließe sich auch direkt eine Mail-Adresse da rein schreiben, jedoch ist es die saubere Lösung dortpostmaster
zu hinterlegen und dafür einen Alias zu setzen.MailHub
: Der SMTP Server, an dem die Mails abgeliefert werdenRewriteDomain
: Manchmal sinnvol zu setzen, wegen Spamfilter und/oder Rückantworten (falls gewünscht). Sollte dann aufwhatever.com
gesetzt werden.Hostname
: Der Hostname des Computers. Kann ein voller sein, oder bei aktiviertemRewriteDomain
auch nur der kurze Hostname (kiste
)FromLineOverride
: Ermöglicht es dem Email Programm einFrom:
zu setzen.UseSTARTTLS
(oder ggf.UseTLS
): Verschlüsselung zum SMTP Server.AuthUser
: Der SMTP Username.AuthPass
: Das SMTP Passwort (deshalb besonders auf die Dateirechte dieser Config achten).
Falls man dies nicht schon getan hat: In pf
sollte auch der entsprechende
Port aufgemacht werden, damit die Mail auch raus kann.
587
== submission:
pass out proto tcp from any to any port = submission flags S/SA keep state
Sollte man den Port 465 nutzen wollen, muss man den Port
entsprechend anpassen, und UseSTARTTLS
durch UseTLS
austauschen. Der Port heißt in pf
dann smtps.
Funktionstest
Zum testen, ob das Mail versenden funktioniert kann man folgendes ausprobieren:
mail someone@whatever.com < cat /etc/motd
Oder direkt per Username:
mail root < cat /etc/motd
Aliase
Nachdem alles so grob funktionert, kann man sich Aliase setzen.
sSMTP verweigert den newaliases
Befehl::
newaliases: Aliases are not used in sSMTP
Somit fällt auch die /etc/aliases
hinten runter.
Aber man kann sich in der /etc/mail.rc
für einzelne Benutzer trotzdem
noch aliase setzen::
alias postmaster 'Master Of Post'<someone+postmaster@whatever.com>
alias root 'Awesome Super User'<someone+root@whatever.com>
alias user 'Not So Awesome User'<someone+user@whatever.com>
Hier verwende ich Kommentare in den Adressen, damit ich meinen Mailfilter darauf ansetzen kann.
Absender Name
Die (Menschenlesbaren-) Namen des Absenders werden aus der /etc/passwd
gezogen. Falls man darin Sachen ändern möchte,
unbedingt vipw
verwenden!!1!
last update: 2024-01-28 17:42:17 +0100