Beispiel: Senden Sie alle E-Mails mit einem vordefinierten Absender


8

Wir verwenden Exim auf unseren Servern, um E-Mails nur von lokalen automatisierten Benutzern wie root, cron usw. zu senden.

Wir müssen alle möglichen Benutzer angeben /etc/email-addresses. Zum Beispiel:

root: alert@example.com  
cron: alert@example.com  
backup: alert@example.com` 

Auf diese Weise können wir jede generierte E-Mail empfangen.

Das Problem ist, wenn wir einen Benutzer aus irgendeinem Grund hinzufügen (z. B. wenn wir ein Paket hinzufügen, einige einen Benutzer hinzufügen), können wir vergessen, diesen Benutzer hinzuzufügen /etc/email-addresses. Meistens ist es kein Problem, aber das ist nicht sauber. Und die Gesamtmethode ist nicht sauber.
Wir möchten Exim so konfigurieren, dass alle E-Mails mit derselben Quelladresse gesendet werden. dh jede gesendete E-Mail kommt vonalert@example.com

Eine Möglichkeit könnte darin bestehen, einen Platzhalter oder einen regulären Ausdruck zu verwenden /etc/email-addresses, dies wird jedoch nicht unterstützt.
Ich verstehe Exim derzeit nicht genug, um herauszufinden, wie man dies auf die eine oder andere Weise modifiziert.
Im Idealfall sollte Exim /etc/email-addresseszuerst prüfen und, falls keine Übereinstimmung vorliegt, die vordefinierte Adresse verwenden. Das ist aber sehr zweitrangig.

Es gibt zwei Stellen, an denen diese Adresse verwendet wird:
1. Wenn Exim den FROM:Befehl an den SMTP-Server sendet,
2. innerhalb des Headers

Bearbeiten:
Der Abschnitt zum Umschreiben ist das Original von Debian

begin rewrite  
.ifndef NO_EAA_REWRITE_REWRITE  
*@+local_domains "${lookup{${local_part}}lsearch{/etc/email-addresses} \  
{$value}fail}" Ffrs  
*@ETC_MAILNAME "${lookup{${local_part}}lsearch{/etc/email-addresses} \
{$value}fail}" Ffrs  
.endif

Könnten Sie den Abschnitt REWRITE CONFIGURATION Ihrer exim.conf in eine Bearbeitung aufnehmen?
Brent

Antworten:


9

Ein viel besserer Ansatz:

Ändern Sie den Abschnitt zum Umschreiben: Ändern lsearchum wildlsearch(zwei Zeilen müssen geändert werden). Dies ermöglicht die Verwendung von Platzhaltern und regulären Ausdrücken in/etc/email-addresses

Das /etc/email-addresseskann also Folgendes enthalten: Die Datei wird von oben nach unten verarbeitet. Wenn also eine E-Mail an root gesendet wird, wird sie wirklich an root@example.com gesendet. Alle anderen E-Mails werden an alert@example.com gesendet
root: root@example.com
*: alert@example.com


2
Unter Ubuntu musste ich die wildlsearchÄnderung in /etc/exim4/exim4.conf.template vornehmen, ausführen sudo update-exim4.confundsudo /etc/init.d/exim4 restart
Andy

Wenn Ihre Konfigurationsdateien aufgeteilt sind, müssen Sie die Änderung in vornehmen /etc/exim4/conf.d/rewrite/31_exim4-config_rewriting.
Mkurz

2

Fügen Sie irgendwo danach begin rewrite(und vor dem nächsten Abschnitt, der mit einem Anfang beginnt) Folgendes hinzu:
* name@domain.tld Ffrs

Der Platzhalter für jede Adresse
name@domain.tld ist die Adresse, für die
Ffrs stehen soll:
F den Umschlag
neu schreiben Von Feld f den Header From:
neu schreiben r den Header Reply-To:
neu schreiben s den Header Sender: neu schreiben

Dies ersetzt JEDE Absenderadresse.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.