Debian: msmtp und aliases richtig mit Gmail konfigurieren

kali-hi

Banned
Registriert
Sep. 2025
Beiträge
760
Moin, ich habe ein Problem mit dem msmtp-mta... Folgende Schritte hatte ich durchgeführt:

Installation:

sudo apt get install msmtp msmtp-mta mailutils

Konfiguration:

Code:
sudo cat /etc/msmtprc
# Accounts will inherit settings from this section
defaults
auth            on
tls             on
tls_certcheck   off
tls_trust_file  /etc/ssl/certs/ca-certificates.crt
logfile         /var/log/msmtp.log

# A first gmail address
account   gmail
host      smtp.gmail.com
port      587
from      a@gmail.com
user      a@gmail.com
password  abcd

# Set a default account
account default: gmail

# Map local users to mail addresses
aliases /etc/aliases


sudo cat /etc/aliases
default: a@gmail.com


sudo cat /etc/mail.rc
alias root A<a@gmail.com>
alias user A<a@gmail.com>


sudo chmod 666 /var/log/msmtp.log

Das funktioniert auch so weit ganz gut, alle Mails an root oder user sollen an a at gmail.com gehen...

Das Problem ist: echo "Testtext..." | mail -s "Testnachricht" root

greift auf die Aliases in /etc/mail.rc zurück und ersetzt root durch den richtigen Empfänger (To: ).

Wenn aber eine Mail direkt, also ohne sendmail, nur mit msmtp, gesendet wird: echo 'a test email' | msmtp root

(wie es zum Beispiel bei cron der Fall wäre), dann wird die /etc/mail.rc ignoriert und nur die in /etc/aliases definierten Ersetzungsregeln angewendet.

Das Resultat ist, dass zwar eine Mail gesendet wird, in der a at gmail.com im Bcc: steht, die jedoch kein To:-Feld enthält.

Ich vermute, msmtp setzt die Empfängeradresse also nicht richtig ein, obwohl die Mails auch ankommen...

Könnte man daran etwas ändern? Also, gibt es noch eine Option, die ich übersehen habe?
Ergänzung ()

EDIT: Hier ist noch ein Ausschnitt aus dem manual:

1762252961289.png


Link
 
Zuletzt bearbeitet:
Note that alias expansion only affects the mail envelope. The To and Cc headers are not modified.

Ich glaube, nur das Envelope (das ist das Received: ... for ...) wird dadurch gesetzt und das übrige Verhalten von msmtp ist nicht durch die Konfiguration änderbar (also, das automatische Setzen von To: ). :(
 
Vorab, ich kenne msmtp nicht. Ich habe zuletzt vor knapp einem Jahrzehnt ausgewachsene Mailserver (Postfix) konfiguriert. Mein Input kommt also nur aus dem Lesen der Dokumentation.
kali-hi schrieb:
Das Problem ist: echo "Testtext..." | mail -s "Testnachricht" root

greift auf die Aliases in /etc/mail.rc zurück und ersetzt root durch den richtigen Empfänger (To:).
Ich würde die Aliases immer nur in einer Datei konfigurieren. Bei dir sinnvollerweise in /etc/aliases. Davon ab, würde ich root: und default: immer doppelt setzen.
kali-hi schrieb:
Wenn aber eine Mail direkt, also ohne sendmail, nur mit msmtp, gesendet wird: echo 'a test email' | msmtp root
Ich würde mstmp immer im sendmail-Modus nutzen, mittels Eintrags in die /etc/mail.rc
set sendmail="/usr/bin/msmtp -t"

kali-hi schrieb:
(wie es zum Beispiel bei cron der Fall wäre), dann wird die /etc/mail.rc ignoriert und nur die in /etc/aliases definierten Ersetzungsregeln angewendet.
Cron ist vielleicht ein unglückliches Beispiel, denn dort lassen sich eigentlich immer die Absender- und Empfängeradressen frei definieren.
kali-hi schrieb:
Das Resultat ist, dass zwar eine Mail gesendet wird, in der a at gmail.com im Bcc: steht, die jedoch kein To:-Feld enthält.
Wo kommt der Empfänger im Bcc: her?
 
Evil E-Lex schrieb:
Ich würde mstmp immer im sendmail-Modus nutzen, mittels Eintrags in die /etc/mail.rc
set sendmail="/usr/bin/msmtp -t"
Das hat keine Auswirkungen, das Verhalten ist gleich.

Evil E-Lex schrieb:
Cron ist vielleicht ein unglückliches Beispiel, denn dort lassen sich eigentlich immer die Absender- und Empfängeradressen frei definieren.
Was ich aber nicht will... Cron soll per Default an mich mailen, wenn etwas schiefgeht.

Evil E-Lex schrieb:
Wo kommt der Empfänger im Bcc: her?
Wird von msmtp oder Gmail eingefügt.
Ergänzung ()

Evil E-Lex schrieb:
Ich habe zuletzt vor knapp einem Jahrzehnt ausgewachsene Mailserver (Postfix) konfiguriert.
Das ja eben nicht. Es soll nur ein externer smtp für alle mails verwendet werden.
 
Zuletzt bearbeitet:
Zurück
Oben