Home / Linux / Debian / HowTo: Exim Mail per Gmail SMTP Server versenden – Debian – Ubuntu

HowTo: Exim Mail per Gmail SMTP Server versenden – Debian – Ubuntu

Debian und Ubuntu Mails via Gmail (Google Mail) versenden. So wird der Exim Mail Server richtig konfiguriert

Manchmal erfordern ungewöhnliche Anforderungen ebenso ungewöhnliche Lösungen. So wurde uns als Anforderung gestellt, dass sämtliche Emails von einem Webserver via Gmail Smarthost weitergesendet werden sollen. Der Kunde hat einen „Google Apps for Business“ Account und möchte diesen auch verwenden um Mails, welche an den localhost übergeben werden, über das definierte Emailkonto zu versenden. Die Variante funktioniert übrigens auch mit einer kostenlosen Gmail Adresse.

Exim neu konfigurieren:

Der Exim Mailserver lässt sich relativ unproblematisch über eine Assistenten konfigurieren, welcher für unser Vorhaben völlig ausreicht. Zum Starten des Assistenten wird ein Terminal Fenster geöffnet und folgender Befehl abgesetzt. (Wer nicht als root User arbeitet, sollte ein sudo davor setzen)

[bash]dpkg-reconfigure exim4-config[/bash]

1. mail sent by smarthost; received via SMTP or fetchmail

Debian exim4 mail sent by smarthost

2. System Mail Name definieren (FQDN) zB: server1.sysadminslife.com

Debian exim4 mail Server Configuration

3. SMTP nur auf den localhost beschränken um Zugriffe durch externe zu vermeiden. (127.0.0.1: ::1)

Debian exim4 incoming smtp connection

4. Other destinations for wich mail is accepted: keine

Debian exim4 other destinations for which mail is accepted

5. Machines to relay mail for: keine

Debian exim4 machines to relay mail for

6. IP adress or host name of the outgoing smarthost: smtp.gmail.com::587

Debian exim4 IP address or host name of the outgoing smarthost gmail

7. Hide local mail name in outgoing mail? No

Debian exim4 hide local mail name

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

Debian exim4 keep number of DNS queries minimal

9. Delivery method for local mail: mbox format in /var/mail

Debian exim4 Delivery method for local mail

10. Split configuration info small files? No

Debian exim4 split configuration into small files

Google Mail Konto definieren

Da die Konfiguration von Exim nun abgeschlossen ist, wird noch das entsprechende Google Konto benötigt, welches zum Versand verwendet werden soll. Dazu wird die Datei /etc/exim4/passwd.client editiert…

[bash]vi /etc/exim4/passwd.client[/bash]

… und die folgende Zeile hinzugefügt: („DeineMailAdresse@gmail.com“ und „DeinGmailPasswort“ entsprechend ersetzen)

[bash]*.google.com:DeineMailAdresse@gmail.com:DeinGmailPasswort[/bash]

Die Exim Konfiguration muss nur noch aktualisiert werden

[bash]update-exim4.conf[/bash]

Exim -> Gmail Weiterleitung testen

Mit folgendem Befehl wird ein Email generiert und an die angeführte Email Adresse versendet:

[bash]echo ‚Mail Test erfolgreich!‘ | mail -s ‚Exim -> Gmail SMTP Testmail‘ meinemailadresse@domain.com[/bash]

Nun kann in dem Postfach nachgesehen werden ob das Email auch angekommen ist.

[sam id=“2″ codes=“true“]

Exim Troubleshooting

Falls es zu Problemen kommen sollte, oder das Testmail nicht ankommt, so ist es sinnvoll in der Logfile nachzusehen:

[bash]tail /var/log/exim4/mainlog[/bash]

Hier sollten entsprechende Fehlermeldungen auftauchen.

4/5 - (16 votes)

Auch cool

Linux richtig anwenden: Tipps und Tricks für eine optimale Erfahrung

Die Kombination aus Spiele-Plattformen, und dem Betriebssystem Linux mag auf den ersten Blick ungewöhnlich erscheinen. …

7 Kommentare

  1. Danke für die Anleitung! Anmerkung: Bei mir war es Port 587. https://support.google.com/mail/answer/13287?hl=en Grüße Markus

    • Hallo Markus,

      danke für den Hinweis! Natürlich ist der Port 587 und nicht 586! Das war ein Tippfehler von meiner Seite! Habe den Artikel nun korrekterweise aktualisiert.

      Gruß
      Patrick

  2. Kleiner Tipp zur Sicherheit:

    chown root:Debian-exim /etc/exim4/passwd.client
    chmod 640 /etc/exim4/passwd.client

    Soll ja nicht jeder in die Datei reinsehen können 😉

    Nimm das am besten mit ins Tutorial auf.

  3. Hallo,

    vielen Dank für die Anleitung. Entsprechend dieser Anleitung wurde exim4 konfiguriert.

    Beim Start von exim4 wird eine Alert.Meldung ausgegeben:
    ALERT: exim paniclog /var/log/exim4/paniclog has non-zero size, mail system possibly broken

    Zusätzlich ist der Mailversand fehlgeschlagen:
    R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after MAIL FROM: SIZE=2523: host smtp.web.de [213.165.67.108]: 530 Authentication required

    Im vorliegenden Fall sollte eine Testmail über ein bestehenden web.de-Account versandt werden.

    • Hallo,

      der Fehler lag darin, dass zum einen in der Frage 3: (SMTP-Adresse) nur eine IP-V4 Angabe aktiviert werden darf, und zum anderen in der Datei

      /etc/exim4/exim4.conf.template

      ein Eintrag „disable_ipv6=true“ eingetragen werden muss.

      Zusätzlich muss vor dem Neustart des exim4 services die Datei /var/log/exim4/mainlog gelöscht werden muss. Andernfalls wird beim Start immer wieder eine panic-Alert Meldung ausgegeben.

      Beim Versandt Akzeptieren viele eMail-Provider nicht mehr eine beliebigen Absender Email-Adresse. Diese muss über den Parameter „-r“ angegeben werden:

      echo ‚Mail Test erfolgreich!‘ | mail -r AbsenderMail@Mail.de -s ‚Exim -> Gmail SMTP Testmail‘ EmpfängerMail@Mail.de

      Dann klappt auch ein Email-Versand.

  4. Hallo, der lokale versand von meinem Rechner auf welchem exim läuft funktioniert prima, wenn ich jedoch von einem anderen Client (in meinem Fall ein HP Digitalsender) die Mail sende funktioniert es nicht. Bekomme noch nicht mal einen Eintrag in /var/log/exim4/mainlog. Hat jemand eine Idee?

  5. Wie kann ich das beheben?

    Cannot start „/usr/sbin/sendmail“: executable not found (adjust *sendmail* variabl
    e)
    „/root/dead.letter“ 6/158
    … message not sent