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: [email protected]  
cron: [email protected]  
backup: [email protected]` 

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 von[email protected]

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
Gregory MOUSSAT
quelle
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 [email protected] gesendet. Alle anderen E-Mails werden an [email protected] gesendet
root: [email protected]
*: [email protected]

Gregory MOUSSAT
quelle
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:
* [email protected] Ffrs

Der Platzhalter für jede Adresse
[email protected] 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.

Bertrand SCHITS
quelle