[Erledigt] Lokale Mails an externe Adresse (z.B. gmail) weiterleiten

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
buhtz
Beiträge: 1106
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

[Erledigt] Lokale Mails an externe Adresse (z.B. gmail) weiterleiten

Beitrag von buhtz » 28.12.2020 11:04:27

Vor längerer Zeit hatte ich hierzu schon einmal einen Versuch gestartet, war gescheitert und hab es nicht weiter angerührt.

Bevor wir hier in die config Files gehen, brauche ich erst einmal einen Tip für ein gutes und vor allem aktuelles HowTo und eine Empfehlung für ein passendes Tool. Diesbezüglich schwirrt sehr viel im Netz rum, so dass mir hier schon die Auswahl schwer fällt.

Diverse Systemtools (mdadm, smartmontools, etc) nutzen (ich glaube) Debianmail USERNAME, um bei Problemen Nachrichten an den jeweiligen lokalen Nutzer (u.a. root) zu schicken. Ich glaube, bitte korrigiert mich, man testet dass dann einfach so

Code: Alles auswählen

mail root|user -s "Subject" buhtz@gmail.com <<< "Message Body"
Ich möchte, dass diese Mails an eine "echte" Mail-Adresse bei einem externen Provider geschickt werden. Meinen Primärprovider Posteo lassen wir mal weg, um mögliche Probleme und Spezialkonfigurationen auszuschließen. Von mir aus, eben ein gmail Konto.

Wo sollte ich starten?
Zuletzt geändert von buhtz am 30.07.2021 11:25:23, insgesamt 1-mal geändert.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Lokale Mails an externe Adresse (z.B. gmail) weiterleiten

Beitrag von jph » 28.12.2020 11:59:15

Ich würde dir zu Exim (Debianexim4-daemon-light) raten, weil bei dem weiß ich nämlich, wie es funktioniert... :-) Es gibt zwei Mechanismen:

- zentral: Du trägst das in die /etc/aliases ein. # dpkg-reconfigure exim4-config fragt übrigens, was es mit Mail for root anstellen soll und erzeugt den Eintrag für root automatisch.

- dezentral: Zusätzlich können die User das selbst steuern, indem sie eine externe Adresse in ihre ~/.forward eintragen.

Doku: https://www.exim.org/exim-html-current/ ... outer.html

Natürlich muss Exim in beiden Fällen so eingerichtet sein, dass er auch Mails nach extern verschicken kann.

buhtz
Beiträge: 1106
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: Lokale Mails an externe Adresse (z.B. gmail) weiterleiten

Beitrag von buhtz » 28.12.2020 12:09:21

jph hat geschrieben: ↑ zum Beitrag ↑
28.12.2020 11:59:15
Natürlich muss Exim in beiden Fällen so eingerichtet sein, dass er auch Mails nach extern verschicken kann.
Ich denke, genau das ist der Knackpunkt. HowTo Tip?
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Lokale Mails an externe Adresse (z.B. gmail) weiterleiten

Beitrag von jph » 28.12.2020 12:33:17

buhtz hat geschrieben: ↑ zum Beitrag ↑
28.12.2020 12:09:21
HowTo Tip?
Leider keinen. Ich versuche mal, ein paar Sachen zusammenzufassen...

- # dpkg-reconfigure exim4-config: dort die zweite Option „Versand über Sendezentrale (Smarthost); Empfang mit SMTP oder Fetchmail“ (dann wird die ~/.forward ausgewertet) oder „...; keine lokale E-Mail-Zustellung“ (dann wird die ~/.forward nicht ausgewertet) auswählen

- ein paar Fragen später: „IP-Adresse oder Rechnername der Sendezentrale“: hier den SMTP deiner Mailadresse/deiner Domain eintragen

- nächste Frage: „Lokalen E-Mail-Namen verbergen“: muss ich auswählen und im Folgeschritt durch deine Domain ersetzen (dann kommen zwar Absenderadressen wie root@foo.bar heraus, aber zumindest Ionos schluckt das)

-Zugangsdaten für die Sendezentrale in die /etc/exim4/passwd.client eintragen

Danach am Besten in einem Terminal ein $ tail -f /var/log/exim4/mainlog laufen lassen und den Mailversand versuchen. Je nach Sendezentrale wirst du etwas mit den Optionen herumspielen müssen. Am Besten versuchst du zuerst, ob der Mailversand an eine echte Adresse funktioniert (# apt install bsd-mailx und $ mail user@foo.bar). Eine Mail schließt du ab, indem du eine Zeile tippst, die nur einen Punkt . enthält. Wann das funktioniert, kannst du dich in Rewriting/Forwarding reinfuchsen.

buhtz
Beiträge: 1106
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: Lokale Mails an externe Adresse (z.B. gmail) weiterleiten

Beitrag von buhtz » 28.12.2020 15:10:45

Die externe Zieladresse, die alle Mails an root|user erhalten soll, ist t.h.e.b.u.h.t.z@gmail.com.
Es muss allerdings nicht zwingend Gmail sein - bin da für alles offen.

Vielleicht zeigt mein Vorghen hier auch etwas, dass ich das Gesamtsystem weiterhin noch nicht durchblickt habe. ;)
jph hat geschrieben: ↑ zum Beitrag ↑
28.12.2020 12:33:17
- # dpkg-reconfigure exim4-config: dort die zweite Option „Versand über Sendezentrale (Smarthost); Empfang mit SMTP oder Fetchmail“ (dann wird die ~/.forward ausgewertet) oder „...; keine lokale E-Mail-Zustellung“ (dann wird die ~/.forward nicht ausgewertet) auswählen
Warum "Empfang"? Verstehe ich etwas falsch?
Ich will keine Mails auf der Maschine empfangen, sondern es sollen nur die Mails rausgehen.
jph hat geschrieben: ↑ zum Beitrag ↑
28.12.2020 12:33:17
- nächste Frage: „Lokalen E-Mail-Namen verbergen“: muss ich auswählen und im Folgeschritt durch deine Domain ersetzen (dann kommen zwar Absenderadressen wie root@foo.bar heraus, aber zumindest Ionos schluckt das)
Was genau bedeutet "deine Domain"? Ich besitze keine Domain. ;)
jph hat geschrieben: ↑ zum Beitrag ↑
28.12.2020 12:33:17
Eine Mail schließt du ab, indem du eine Zeile tippst, die nur einen Punkt . enthält.
Bei meinem Debianmail geht das mit dem Punkt nicht - sondern mit Ctrl+D.

Code: Alles auswählen

mail t.h.e.b.u.h.t.z@gmail.com
Keine Fehlermeldung durch mail. So sieht das log aus.

Code: Alles auswählen

# tail -f /var/log/exim4/mainlog
2020-12-28 14:34:44 exim 4.92 daemon started: pid=1612, -q30m, listening for SMTP on [127.0.0.1]:25 [::1]:25
2020-12-28 14:34:44 Start queue run: pid=1615
2020-12-28 14:34:44 End queue run: pid=1615
2020-12-28 14:39:33 exim 4.92 daemon started: pid=2524, -q30m, listening for SMTP on [127.0.0.1]:25 [::1]:25
2020-12-28 14:39:33 Start queue run: pid=2527
2020-12-28 14:39:33 End queue run: pid=2527
2020-12-28 14:47:00 exim 4.92 daemon started: pid=2824, -q30m, listening for SMTP on [127.0.0.1]:25 [::1]:25
2020-12-28 14:47:00 Start queue run: pid=2825
2020-12-28 14:47:00 End queue run: pid=2825
2020-12-28 14:47:15 exim 4.92 daemon started: pid=3092, -q30m, listening for SMTP on [127.0.0.1]:25 [::1]:25
2020-12-28 14:47:15 Start queue run: pid=3093
2020-12-28 14:47:15 End queue run: pid=3093
2020-12-28 14:49:07 1ktstX-0000nx-1k <= root@debian U=root P=local S=367
2020-12-28 14:49:07 1ktstX-0000nx-1k H=smtp.gmail.com [2a00:1450:400c:c0c::6d] Network is unreachable
2020-12-28 14:49:07 1ktstX-0000nx-1k plain authenticator failed H=smtp.gmail.com [108.177.15.108] 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials o74sm22879082wme.36 - gsmtp
2020-12-28 14:49:07 1ktstX-0000nx-1k login authenticator failed H=smtp.gmail.com [108.177.15.108] 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials o74sm22879082wme.36 - gsmtp
2020-12-28 14:49:07 1ktstX-0000nx-1k ** t.h.e.b.u.h.t.z@gmail.com R=smarthost T=remote_smtp_smarthost H=smtp.gmail.com [108.177.15.108] X=TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256 CV=yes DN="C=US,ST=California,L=Mountain View,O=Google LLC,CN=smtp.gmail.com": SMTP error from remote mail server after pipelined end of data: 530-5.7.0 Authentication Required. Learn more at\n530 5.7.0  https://support.google.com/mail/?p=WantAuthError o74sm22879082wme.36 - gsmtp
2020-12-28 14:49:07 1ktstX-0000o0-Lk <= <> R=1ktstX-0000nx-1k U=Debian-exim P=local S=1955
2020-12-28 14:49:07 1ktstX-0000nx-1k Completed
2020-12-28 14:49:07 1ktstX-0000o0-Lk => user <root@debian> R=local_user T=mail_spool
2020-12-28 14:49:07 1ktstX-0000o0-Lk Completed
Ich vermute, dass versucht wird sich als "root@debian" bei Googles SMTP Server anzumelden.

EDIT:
Es wird wärmer. Im Google Konto muss man nach der Einstellung Zugriff durch weniger sichere Apps suchen und diesen Zugriff erlauben.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

buhtz
Beiträge: 1106
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: Lokale Mails an externe Adresse (z.B. gmail) weiterleiten

Beitrag von buhtz » 28.12.2020 22:34:04

OK, es geht. Ich weiss nicht genau warum, aber ich fasse hier nochmal die Settings zusammen. Habe mich neben der Erklärung hier im Thread auch an https://wiki.debian.org/Exim4Gmail orientiert.
Es handelt sich übrigens um ein Debian 10 (stable) System.

Es ist nicht ganz klar, welche der Einstellungen wirklich relevant sind.

dpkg-reconfigure exim4-config
  1. Versand über Sendezentrale (Smarthost): Empfang mit SMTP oder Fetchmail
  2. E-Mail-Name des Systems: localhost
  3. IP-Adressen, an dennen eingehende SMTP-Verbindungen erwartet werden: 127.0.0.1 ; ::1
  4. Weitere Ziele, für die E-Mails angenommen werden sollen: (leer)
  5. Rechern, für die E-Mails weitergeleitet werden (Relay): (leer)
  6. IP-Adresse oder Rechnername der Sendezentrale für ausgehende E-Mails: smtp.gmail.com:587
  7. Lokalen E-Mail-Namen in ausgehenden E-Mails verbergen? Nein
  8. Sichtbare Domänenname für lokale Benutzer: debian-lokale-benutzer
  9. DNS-Anfragen minimieren: Nein
  10. Versandart bei lokaler E-Mail-Zustellung: Mbox-Format
  11. Einstellungen auf kleine Dateien aufteilen: Ja
Habe mit diversen Einstellungen experimentiert.
Zu Punkt 2: Einstellung scheint egal zu sein. Der String hier taucht auch nicht im Quelltext/Header der endgültigen Mail auf.
Zu Punkt 7: Einstellungen egal.
Zu Punkt 8: Ist egal.

/etc/exim4/passwd.client

Code: Alles auswählen

smtp.gmail.com:GMAIL-NUTZERNAME_OHNE_@:PASSWORD
/etc/aliases

Code: Alles auswählen

user: GMAIL-NUTZERNAME@gmail.com
root: GMAIL-NUTZERNAME@gmail.com
Google-Konto
Hier nach der Sicherheitseinstellung Zugriff durch weniger sichere Apps suchen und diesen Zugriff erlauben.

Exim "neustarten":

Code: Alles auswählen

update-exim4.conf && invoke-rc.d exim restart && exim4 -qff
Mail Versand ist dann möglich.

Code: Alles auswählen

mail user
mail root
mail GMAIL-NUTZERNAME@gmail.com
EDIT:
Also bei GMX geht es nicht. Hier erhalte ich folgende Log-Meldung.

Code: Alles auswählen

2020-12-29 22:24:59 1kuMQP-0000TQ-67 ** 46g_47f7xnt4dr4p@gmx.net <root@debian> R=smarthost T=remote_smtp_smarthost H=mail.gmx.net [212.227.17.190] X=TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256 CV=yes DN="businessCategory=Private Organization,serialNumber=HRB 7666,jurisdictionOfIncorporationLocalityName=Montabaur,jurisdictionOfIncorporationStateOrProvinceName=Rheinland-Pfalz,jurisdictionOfIncorporationCountryName=DE,C=DE,ST=Rheinland-Pfalz,L=Montabaur,O=1&1 Mail & Media GmbH,CN=mail.gmx.net": SMTP error from remote mail server after MAIL FROM:<> SIZE=2836: 550-Requested action not taken: mailbox unavailable\n550 Sender address is not allowed.
2020-12-29 22:24:59 1kuMQP-0000TQ-67 Frozen (delivery error message)
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Antworten