Direkt zum Hauptinhalt

Einrichtung Email mit msmtp (nullmailer alternative auf CentOS)

Beschreibung

msmtp ist ein MTA für deinen reinen Versand über sendmail.
Nullmailer ist auf Debian Systemen verfügbar, allerdings nicht auf CentOS.
Somit machen wir hier von msmtp gebrauch, da es auch in den Paketmanager dnf Verfügbar ist.

Installation

Einloggen auf dem system und den Befehl

dnf install msmtp

Ausgabe, Frage mit y beantworten:

Dependencies resolved.
================================================================================
 Package           Architecture    Version                  Repository     Size
================================================================================
Installing:
 msmtp             x86_64          1.8.10-1.el8             epel          181 k
Installing dependencies:
 libgsasl          x86_64          1.8.0-8.el8              epel          137 k
 libntlm           x86_64          1.6-1.el8                epel           99 k

Transaction Summary
================================================================================
Install  3 Packages

Total download size: 417 k
Installed size: 1.3 M
Is this ok [y/N]:

Ausgabe:

Downloading Packages:
(1/3): libntlm-1.6-1.el8.x86_64.rpm             876 kB/s |  99 kB     00:00    
(2/3): libgsasl-1.8.0-8.el8.x86_64.rpm          1.1 MB/s | 137 kB     00:00    
(3/3): msmtp-1.8.10-1.el8.x86_64.rpm            1.2 MB/s | 181 kB     00:00    
--------------------------------------------------------------------------------
Total                                           408 kB/s | 417 kB     00:01     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : libntlm-1.6-1.el8.x86_64                               1/3 
  Installing       : libgsasl-1.8.0-8.el8.x86_64                            2/3 
  Running scriptlet: libgsasl-1.8.0-8.el8.x86_64                            2/3 
  Installing       : msmtp-1.8.10-1.el8.x86_64                              3/3 
  Running scriptlet: msmtp-1.8.10-1.el8.x86_64                              3/3 
  Verifying        : libgsasl-1.8.0-8.el8.x86_64                            1/3 
  Verifying        : libntlm-1.6-1.el8.x86_64                               2/3 
  Verifying        : msmtp-1.8.10-1.el8.x86_64                              3/3 

Installed:
  libgsasl-1.8.0-8.el8.x86_64              libntlm-1.6-1.el8.x86_64             
  msmtp-1.8.10-1.el8.x86_64               

Complete!

Konfiguration

Für eine Systemweite Konfiguration legen wir eine Konfig Datei in /etc/msmtprc an.

nano /etc/msmtprc

Über diese Konfiguration kann aber nur root senden.
Möchte man aber weiteren Benutzern gestatten Emails zu senden, dann muss eine Konfigurationsdatei im Home-Verzeichnis des Benutzers angelegt werden.

nano ~/.msmtprc

Inhaltlich sind die Konfigurationsdateien, System und Benutzer gleich.

Für unsere Konfig loggen wir uns in unsere  Checkmk instanz ein.

omd su catmonitoring

Nun eine beispielkonfig für eine Emailadresse ohne Auth. Aber es kann ganz einfach angeschaltet werden.
Es ist mit Dokumentiert

# Standardwerte für alle Konten setzen
defaults

# SMTP-Port auf 25, 465 oder 587 setzen
port 587

# Immer TLS aktivieren
tls on

#Pfad zur Logfile
logfile /var/log/msmtp.log

# Mail-Konto Name, hier als Liste angegeben
# Endet mit Passwort, und bei einem neuen Eintrag mit Konto-Name
# handelt es sich um ein zweites E-Mail-Konto
account user@email.de

# Hostname oder IP des SMTP-Servers
host <ip_oder_hostname>

# From-Header setzen (wichtig für 1&1, GMX, web.de usw.)
# Mögliche Werte: on oder off
set_from_header on

# Absender-Adresse
from user@email.de

# Authentifizierung nutzen (on oder off)
auth off

# Authentifizierungs-Benutzername, ignorieren, wenn auth off
user user@email.de

# Passwort für das Konto, ignorieren, wenn auth off
password wirhabenkeins

# Standardkonto festlegen
account default: user@email.de

# Lokale Benutzer auf Mail-Adressen mappen
aliases /etc/aliases

Speichern und die Rechte der Datei anpassen.

chmod 600 .msmtprc

Logfile erstellen

touch /var/log/msmtpmsmtp.log
chownchmod msmtp:msmtp666 /var/log/msmtp.log

Sendmailprogram festelegen. Dazu das original sendmail eine Backupkopie speichern.

mv /usr/sbin/sendmail /usr/sbin/sendmail.original

Nun den alias auf sendmail erstellen

ln -s /usr/bin/msmtp chmod 660 /var/log/msmtpusr/sbin/sendmail

Soll das normale Mail Programm auch umgestellt werden dann die datei .mailrc im Homeverzeichnis bearbeiten

set sendmail="/usr/bin/msmtp"
set message-sendmail-extra-arguments="-a default"

 

Testen

echo "Testtext" | mail -S msmtp -s "Betreff" empfaenger@zieldomain.de

In der Log nachschauen ob geklappt