/etc/aliases

/etc/aliases

Ich habe meinen Debian-Server so konfiguriert, dass er msmtpzum Senden von E-Mails verwendet wird. Der aktuelle Anwendungsfall ist beispielsweise das Senden eines täglichen Berichts an logwatchdie E-Mail-Adresse meines ISPs.

echo "$body" | mutt -s "$topic" -- "[email protected]"

Die Konfiguration habe ich msmtpmithilfe einer globalen msmtprcDatei durchgeführt, die sich unter befindet /etc/msmtprc. Der Inhalt wird unten angezeigt.

Als nächstes möchte ich konfigurieren, dass meine E-Mail für mein Root-Konto (z. B. Ausgabe von Crontabs) auch an meine ISP-E-Mail gesendet wird.

Ich habe herumgegoogelt und beispielsweise im Arch-Wiki herausgefunden, dass ich einfach meine Aliase konfigurieren muss. Das habe ich am Ende der msmtp-Konfigurationsdatei getan.

Nach dem Ausführen von newaliasesund dem Versuch, es auszuführen,

echo test | mail -s "test message" root

Ich erhalte den Fehler

send-mail: /etc/aliases: line 2: invalid address 'postmaster'
Can't send mail: sendmail process failed with error code 78

Ich bin mir nicht sicher, wie ich das beheben kann. Der unten angezeigte Alias ​​war bereits vorhanden. Ich habe nur die Gmail-Adresse hinzugefügt.

Ich denke, ich könnte einfach eine neue Aliasdatei einfügen, aber das könnte andere Dienste beschädigen, die darauf angewiesen sind. Ich weiß also nicht, wie ich das richtig beheben kann.

/etc/aliases

# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: christphe, [email protected]

/etc/msmtprc

# ------------------------------------------------------------------------------
# msmtp System Wide Configuration file
# ------------------------------------------------------------------------------

# A system wide configuration is optional.
# If it exists, it usually defines a default account.
# This allows msmtp to be used like /usr/sbin/sendmail.

# ------------------------------------------------------------------------------
# Accounts
# ------------------------------------------------------------------------------

account isp
host mail.isp.net
port 587
from [email protected]
auth login
user [email protected]
password foobar
syslog LOG_MAIL

logfile /var/log/msmtp.log

# ------------------------------------------------------------------------------
# Configurations
# ------------------------------------------------------------------------------

# Construct envelope-from addresses of the form "[email protected]".
#auto_from on
#maildomain fermmy.server

# Use TLS.
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt

# Syslog logging with facility LOG_MAIL instead of the default LOG_USER.
# Must be done within "account" sub-section above
#syslog LOG_MAIL

# Set a default account
account default : isp

aliases /etc/aliases
# ------------------------------------------------------------------------------#

Antwort1

Aktualisierung 2019-10-17

msmtp Version 1.8.6 (veröffentlicht am 27.09.2019) bietet jetzt native Unterstützung für verkettete/rekursive Aliaserweiterung in /etc/aliases. Siehehttps://marlam.de/msmtp/news/msmtp-1-8-6/.

Ursprüngliche Antwort

Ich hatte also genau das gleiche Problem, als ich von SSMT auf MSMT migrierte. Das Problem wird verursacht durchis_address()Funktion in aliases.c. Wenn das Ziel des Alias ​​kein enthält '@', denkt msmtp grundsätzlich, dass es ungültig ist und bricht ab. Sie können dies umgehen, indem Sie einfach @ an alle Aliase anhängen, die zu root umleiten.

In Ihrem Beispiel würden Sie /etc/aliaseswie folgt ändern:

# /etc/aliases
mailer-daemon: postmaster@
postmaster: root@
nobody: root@
hostmaster: root@
usenet: root@
news: root@
webmaster: root@
www: root@
ftp: root@
abuse: root@
noc: root@
security: root@
root: christphe@, [email protected]

Ich habe vor, einen Fehler/ein Problem mit msmtp zu protokollieren, damit dieses Verhalten geändert wird, sodass es einfach funktioniert, und werde diese Antwort dann aktualisieren.

Antwort2

msmtpHabe heute beim ersten Versuch zwei Dinge hierzu gefunden .

  1. /etc/aliasesStandard der postmaster: rootDinge Sodbrennen. Nur offenbart durchmsmtp -v

  2. setzenaliases /etc/aliasesin /etc/msmtprcoder~/.msmtprc

Antwort3

Als nächstes möchte ich konfigurieren, dass meine E-Mail für mein Root-Konto (z. B. Ausgabe von Crontabs) auch an meine ISP-E-Mail gesendet wird.

  1. Fügen Sie eine Zeile wie diese hinzu /etc/msmtprc:
   aliases /etc/aliases.msmtp
  1. Erstellen Sie die Datei /etc/aliases.msmtp, die diese Zeile enthält:
   default: [email protected]

Antwort4

msmtp und AppArmor funktionieren nicht gut zusammen. AppArmor war mit dem Lesen von msmtpd einverstanden, /etc/aliases sträubte sich aber beim Lesen von /etc/aliases.msmtp.

Ich habe das Problem gefunden, indem ich die -vMSMTP-Option verwendet und eine Testmail gesendet habe.

Ich empfehle, dabei zu bleiben /etc/aliases.

verwandte Informationen