Installieren und konfigurieren Sie exim4 als Smarthost-Relay

Exim kann auf unterschiedliche Weise installiert werden. Eigenständig zur Verwaltung von SMTP live, aber auch als Relay (Smarthost), wenn Sie bereits einen SMTP-Server haben.
Hier konzentrieren wir uns auf die Installation von Exim im „Relais“-Modus.

Wir haben einen internen Mailserver, der für das Routing aller E-Mails für alle Maschinen und Benutzer verantwortlich ist.
Wir fügen dem Netzwerk einen neuen Server hinzu, der nur zu administrativen Zwecken in der Lage sein muss, eigene E-Mails zu senden (Benachrichtigungs-E-Mails, Protokolle, von Anwendungen generierte E-Mails usw.).
Dieser SMTP-Server verarbeitet keine E-Mails für Benutzer.

Ziel : Wir werden Exim installieren, damit der Server seine E-Mails senden kann. Nicht direkt, sondern über den internen „offiziellen“ SMTP-Server.
Die SMTP-Relay-Methode (oder „Smarthost“-Relay für Exim4) wird bevorzugt, da es sich um einen bekannten Server handelt, der die E-Mails tatsächlich sendet, und nicht um einen privaten Server.
Was ergibt: Server -> Mailserver -> Empfänger

Wichtig : Da das Mail-Relay intern ist, muss auf dem Mail-Server keine Authentifizierung durchgeführt werden, um die Nachrichten weiterzuleiten.

Normalerweise ist Exim bereits mit Debian vorinstalliert. Ist dies jedoch nicht der Fall, müssen Sie Exim installieren.

Exim installieren

 aptitude installiere exim4 

Um Exim zu konfigurieren, müssen Sie den Befehl ausführen:

 dpkg-reconfigure exim4-config 

Der Assistent wird gestartet, Sie müssen eine Reihe von Fragen beantworten:

Installationsart : Relay-Senden (“Smarthost”) – keine lokale E-Mail.
Der Server muss nur E-Mails an den Relai-Server senden. E-Mails werden nicht direkt verwaltet.

System-Mail-Name : debian.xxx.local

Liste der IP-Adressen, bei denen Exim auf eingehende SMTP-Verbindungen wartet : 127.0.0.1; :: 1.
Der Server fungiert selbst nicht als Relay. Er hört also nur auf seiner Ortsanschlussleitung.

Andere Ziele, von denen Post angenommen werden muss : leer.
Aus den gleichen Gründen wie bei der vorherigen Option verwaltet es keine anderen Domänen als seine eigenen.

Für lokale Benutzer sichtbarer Domänenname: debian.xxx.local.
Der Name spielt keine Rolle, da es keine lokalen Benutzer gibt.

Netzwerkname oder IP-Adresse des „Smarthost“-Systems : mon.relai.com::25.
Hier geben wir den Namen des Servers ein, an den exim die Mail weiterleitet.
Wir geben dann einen DNS oder eine IP an „::“ und den Port.

Sollten DNS-Anfragen (On-Demand-Verbindungen) minimiert werden? : Nein.

Muss ich die Konfiguration in mehrere Dateien aufteilen? : Nein.

Die Konfiguration ist abgeschlossen und Exim wird neu gestartet.
Wir können die Exim-Konfigurationsdatei überprüfen:

 mehr /etc/exim4/update-exim4.conf.conf # /etc/exim4/update-exim4.conf.conf # # Bearbeiten Sie diese Datei und /etc/mailname von Hand und führen Sie update-exim4.conf aus # selbst oder verwenden Sie 'dpkg-reconfigure exim4-config' # # Bitte beachten Sie, dass dies _keine_ dpkg-conffile ist und dass automatische Änderungen # zu dieser Datei kann passieren. Der Code, der dies handhabt, wird Ihr lokales ehren # ändert sich, also ist dies normalerweise in Ordnung, wird aber lokale Schemata brechen, die durcheinander kommen # herum mit mehreren Versionen der Datei. # # update-exim4.conf verwendet diese Datei, um zu generierende Variablenwerte zu bestimmen # exim-Konfigurationsmakros für die Konfigurationsdatei. # # Die meisten hier gefundenen Einstellungen haben entsprechende Fragen im # Debconf-Konfiguration, aber nicht alle. # # Dies ist eine Debian-spezifische Datei dc_eximconfig_configtype = 'Satellit' dc_other_hostnames = '' dc_local_interfaces = '127.0.0.1; :: 1 ' dc_readhost = 'debian.xxx.local' dc_relay_domains = '' dc_minimaldns = 'falsch' dc_relay_nets = '' dc_smarthost = 'my.relai.com :: 25' CFILEMODE = '644' dc_use_split_config = 'falsch' dc_hide_mailname = 'wahr' dc_mailname_in_oh = 'wahr' dc_localdelivery = 'mail_spool' 

Um zu überprüfen, ob es funktioniert, senden Sie eine E-Mail:

 mail -s "mein Betreff" [email protected] 

Wenn die E-Mail ankommt, Sieg!
Sie können auch die Protokolle überprüfen:

 2013-08-28 09:56:11 1VEabr-0000vt-13 <= [email protected] U = root P = local S = 442 2013-08-28 09:56:12 1VEabr-0000vt-13 => [email protected] R = Smarthost T = remote_smtp_smarthost H = mon.relai.com :: [ip.de.mon.relai] 2013-08-28 09:56:12 1VEabr-0000vt-13 Abgeschlossen 

Definieren Sie im letzten Schritt einen Alias ​​für root.
Standardmäßig werden alle E-Mails an den Root-Benutzer gesendet. Wir geben einen Alias ​​an, damit alle an Root gesendeten E-Mails an ein echtes Postfach umgeleitet werden.

 nano / etc / aliase # / etc / Aliasse Mailer-Daemon: postmaster Postmeister: root niemand: root Hostmaster: root Usenet: root Nachrichten: root Webmaster: root www: root ftp: root Missbrauch: root noc: root Sicherheit: root root: the_first_user_created 

Hier sehen wir, dass alle E-Mails an root gesendet werden und dass root selbst an einen Benutzer umgeleitet wird.
Dies ist der erste Benutzer, der bei der Installation von Debian erstellt wurde.
Wir ersetzen den Benutzernamen durch eine gültige E-Mail-Adresse:

 # / etc / Aliasse Mailer-Daemon: postmaster Postmeister: root niemand: root Hostmaster: root Usenet: root Nachrichten: root Webmaster: root www: root ftp: root Missbrauch: root noc: root Sicherheit: root root: [email protected] 

Führen Sie einen Test durch, indem Sie eine E-Mail an root senden:

 mail -s "mein Objekt" root 

Die E-Mail muss in der konfigurierten Box ankommen.

Hauptbefehle von Exim

So zeigen Sie die E-Mails in der Warteschlange an:

 mailq 

So starten Sie den Warteschlangenprozess neu:

 runq 

So erzwingen Sie die Zustellung von E-Mails, einschließlich „eingefrorener“ E-Mails und leeren die Warteschlange:

 exim -qff 

Für „aufgetaute“ „eingefrorene“ / „eingefrorene“ Nachrichten:

 mailq | gawk '/eingefroren / {print $ 3}' | xargs exim4 -Mt; runq 

So entfernen Sie eine Nachricht aus der Warteschlange:

 exim -Mrm <Nachrichten-ID> 

Die <message-id> ist vom Typ 1VEcvi-0001xI-Pz.
Es wird während mailq angezeigt:

 root @ debian-preprod: ~ # mailq 2h 2.9K 1VEcvi-0001xI-Pz <> *** eingefroren *** [email protected]