
Ich muss meiner Sendmail-Konfigurationsdatei den Namen eines Relay-Servers hinzufügen. Dieser Servername kann jedoch über ein anderes System/eine andere Anwendung konfiguriert werden.
Im Falle einer Änderung muss ich den Servernamen in dieser Datei ändern und Sendmail neu starten.
Außerdem habe ich nicht die Möglichkeit, die Datei sendmail.mc bei jeder Änderung neu zu kompilieren.
Ist es möglich, sendmail anzuweisen, eine weitere Datei für den Servernamen zu lesen/einzufügen. Diese Datei enthält den Namen des im System konfigurierten Servers?
so etwas wie: include("./severname.conf");
Dabei enthält servername.conf den Namen des Servers, zu dem die Weiterleitung erfolgen muss.
Ist es möglich?
Antwort1
Da es sich beim Smarthost um ein Makro handelt, $S
benötigen Sie eine Befehlsfolge wie diese:
cd /etc/mail
cp sendmail.cf sendmail.cf.old
sed -e 's/^DSold.host.name/DSnew.host.name/' sendmail.cf.old > sendmail.cf
und starten Sie dann sendmail neu.
Antwort2
Sie können die Standardroute in Mailertable anstelle des Smarthosts verwenden - sieheFUNKTION (Mailertabelle). Es wird konsultiert/verwendetVorSmarthost => es wird den Smarthost überschreiben.
Mailertable-Dateieintrag für Standardroute („einzelner Punkt“ als Schlüssel):
. relay:smart-host.example.net
Sendmail verwendet die mit dem Programm kompilierte Version der Datei makemap
. sendmail
Nach der Neukompilierung durch ist kein Neustart des Daemons erforderlich makemap
.
So testen Sie es:
sendmail -C/etc/mail/sendmail-test.cf -d60.5 -bv [email protected]
-C file
- alternative Konfigurationsdatei verwenden
-d60.5
- Tracking-Kartensuche aktivieren (einschließlich Mailertable-Karte)