Mailversand mit exim über externen SMTP unter Debian

Wer keine feste externe IP Adresse besitzt, der kann meist keine E-Mails von seinem Server an externe Adressen versenden, da diese meist als Spam zurückgewiesen werden. Häufig, beispielsweise zur Überwachung eines Servers, ist es aber notwendig E-Mails zu verschicken. Abhilfe schafft hier der „smarthost mode“ von exim, mit welchem E-Mails über einen externen SMTP Server verschickt werden können. Das folgende Tutorial beschreibt die Installation von exim unter Debian und die zugehörige Konfiguration.

Schritt 1: System auf den neuesten Stand bringen

apt-get update && apt-get upgrade --show-upgraded

Schritt 2: Exim und mailutils installieren

apt-get install exim4-daemon-light mailutils

Schritt 3: Exim konfigurieren

Exim wird über einen Assistenten konfiguriert. Dieser lasst sich folgendermaßen aufrufen:

dpkg-reconfigure exim4-config

Es folgen einige Fragen zur Konfiguration, welche folgendermaßen beantwortet werden müssen.

General type of mail configuration:
mail sent by smarthost; no local mail

exim_smarthost_0

System mail name:
z.B. debian.localdomain (hier wird der FQDN angegeben)

exim_smarthost_1

IP-addresses to listen on for incoming SMTP connections:
127.0.0.1 ; ::1 (Stellt sicher, dass exim nur Mails des localhost IPv4 und IPv6 verschickt)

exim_smarthost_2

Other destinations for which mail is accepted:
leer lassen

exim_smarthost_3

Visible domain name for local users:
z.B. debian.localdomain (analog „System mail name“)

exim_smarthost_4

IP address or host name of the outgoing smarthost:
z.B. smtp.mailserver.de (Hier wird der externe Mailserver angegeben)

exim_smarthost_5

Keep number of DNS-queries minimal (Dial-on-Demand)?
No

exim_smarthost_6

Split configuration into small files?
No

exim_smarthost_7

Exim verschickt nun E-Mails über den oben angegebenen externen SMTP Server. Da die meisten SMTP Server allerdings einen Benutzernamen und Passwort fordern, müssen diese Daten noch in der Datei /etc/exim4/passwd.client hinterlegt werden.

Schritt 4: Externen SMTP hinterlegen

nano /etc/exim4/passwd.client

Hier müssen nun lediglich die Benutzerdaten für den externen STMP Server hinterlegt werden.

# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
smtp.mailserver.de:benutzername:passwort

Danach wird die Datei gespeichert und ein Update der exim Konfiguration durchgeführt.

update-exim4.conf

Schritt 5: Test

Folgendermaßen lässt sich die Konfiguration testen.

echo 'ok' | mail -s 'SMTP Test' empfaenger@domain.com

Toubleshooting

Wenn es mal nicht so funktioniert wie es soll, hilft ein Blick ins exim Logfile.

tail /var/log/exim4/mainlog

5 Gedanken zu „Mailversand mit exim über externen SMTP unter Debian

  1. Frank Häberle

    Ich habe die Anleitung mit meinem Provider all-inkl ausprobiert. Dabei hat es nicht funktioniert – ich bin mir auch nicht ganz sicher, wie die smpt angabe aussehen muss… Vielleicht habe ich den falschen Port angegeben. Mit einer anderen Anleitung für Googlemail hat es funktioniert, nachdem ich innerhalb von googlemail die Einstellung freigegeben habe.

    Vielen Dank für die gute Anleitung. Sie hat mir schon mal weitergeholfen.

    Antworten
    1. Markus Mansshardt Beitragsautor

      Hi Frank,

      freut mich dass dir die Anleitung schonmal weitergeholfen hat. Bei all-inkl musst du den Port 587 verwenden. Das tust du in folgendem Schritt der exim Konfiguration:

      IP address or host name of the outgoing smarthost:
      w01234567.kasserver.com::587 (w01234567 muss durch deinen Host ersetzt werden)

      Damit sollte es dann klappen.

      Viel Erfolg!
      Markus

      Antworten
  2. Thomas Pfaffinger

    Hallo Markus,
    vielen Dank für dein HowTo, hat auch mit All-Inkl geklappt. Allerdings muss hierfür der Hostname für den PC wirklich ein FQDN sein.

    Bei meinem raspberrypi reichte der Hostname nicht, es musste raspberrpi.domain.tld sein, wobei dabei alles angenommen wird, was das Format hat.

    Thomas

    Antworten
    1. Markus Mansshardt Beitragsautor

      Hi Thomas,

      ja das ist möglich. Je nachdem wie der Mailserver von All-Inkl. konfiguriert ist, nimmt dieser nur Mails an (und relayt sie), wenn der Host als FQDN im angegeben wird. Meist ist es den Mailservern aber egal, solange du dich authentifiziert hast. Freut mich, dass du es mit dem Tutorial hinbekommen hast. Trotz der Hürde mit dem FQDN.

      Viele Grüße
      Markus

      Antworten
  3. Armin

    Danke für diese Anleitung. Die grobe Einstellung von exim4 hat damit funktioniert.
    Leider kann ich kleine Mail an hostig-agncy.de versenden, weil dort der falsche Benutzername ankommt.
    Der Benutzername aus /etc/exim4/passwd.client wird nicht gesendet, sondern der Benutzername von den Debian-PC.
    Wie kann ich das ändern?

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.