[SOLVED] PMG als SMTP-Relay nutzen an dynamscher IP

Josch

Member
Dec 20, 2020
46
7
13
Hallo zusammen!

Ich habe mich jetzt mal dran gegeben das PMG in Betrieb zu nehmen. Klappt auch eigentlich ganz gut. Eingehende Mails werden durch das PMG zum SynologyDiskstation-Mailserver durchgeleitet. Ein Versenden über den Mailserver (ohne PMG) klappt auch.

Nun möchte ich im nächsten Schritt mal versuchen die ausgehenden Mails auch über das PMG zu schicken. Dazu habe ich "ein wenig" recherchiert und auch schon einiges ausprobiert. Leider gehen die Mails nicht raus, obwohl das PMG die Mails entgegen nimmt. Sehe ich in der Statistik.

Kleiner Besonderheit. Mein Test-Mailserver läuft hier zu Hause auf einer DS720+ an einem Internetanschluss mit dynamischer IP-Adresse. Damit ich nicht auf einer Blacklist lande, müssen die Mails per SMTP-Relay zum Domain-Provider (Strato) geschickt werden. Wenn ich die Mails direkt vom Mailserver verschicke klappt dies auch. In den Firewalllogs des Routers (Lancom 1783vaw) ist nichts verdächtiges zu finden, deshalb gehe ich von einem anderen Problem aus.

Was bisher geschah:

/etc/postfix/relay_passwd
Code:
smtp.strato.de webmaster@meine-domain.de:geheimespasswort

Rechte gesetzt:
chown root:root /etc/postfix/relay_passwd
chmod 600 /etc/postfix/relay_passwd

hash erstellt:
postmap /etc/postfix/relay_passwd

Inhalt der Datei ergänzt:

/etc/postfix/main.cf
Code:
relayhost = smtp.strato.de:587
smtp_fallback_relay =
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_passwd
smtp_sasl_security_options =

und abschließend den postfix-Dienst neu gestartet:

/etc/init.d/postfix restart

Nun noch im Mailserver der Diskstation den SMTP-Relay wie folgt eingestellt:

Server: <ip-des-internen-mailservers>
Port: 26
-> immer sichere Verbindung verwenden (TLS)
keine Authentifizierung

Muss ich in der PMG-GUI noch etwas einstellen. Irgendetwas "simples" habe ich doch bestimmt übersehen.

Wäre nett, wenn da mal einer drüberguckt.

Danke schonmal im Voraus.
 
Last edited:
Meine Testmail konnte nicht raus geschickt werden. Hier die Fehlermeldung:

Code:
SASL authentication failed; cannot authenticate to
    server smtp.strato.de[81.169.145.133]: no mechanism available

Und noch einen Screenshot, bei dem ich den Fehler vermute:

1677921714867.png
Was muss ich denn da eintragen?

EDIT:
Bin jetzt einen Schritt weiter. Es fehlten wohl Pakete. Diese mal schnell nachinstalliert:

Code:
apt install sasl2-bin libsasl2-modules

Jetzt gehen manche Mail raus. Manche aber noch nicht. Hier die Fehlermeldung:

Code:
This is the mail system at host pmg.fritz.box.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

                   The mail system

<meine_mail_adresse@online.de>: mail for online.de loops back to myself

Verstehe ich noch nicht so ganz. Ich schicke eine Mail von meiner Domain-Mailadresse an meine Mailadresse bei 1&1. Und dann kommt ein Loop-Fehler?!?!?!?!? Wenn ich eine Mail von meiner Domain-Mailadresse zur Arbeit schicke, funzt es? Jemand Ideen?
 
Last edited:
So, habe den Hauptfehler gefunden. Pi-Hole hatte die Domain "online.de" geblockt. Jetzt funktioniert es.

Habe aber noch weitere Fragen:

1) Die in Post #1 genannten Änderungen sind nicht persistent d.h. beim einem Reboot bzw. Änderung an der Config, werden wieder Defaultwerte gesetzt.

Ist es richtig, dass man die Änderungen auch in das Template ergänzen muss?

Code:
/var/lib/pmg/templates/main.cf.in

Dann ist's auf jeden Fall dauerhaft vorhanden. Aber ist's auch so gedacht, dass man das dort ändert?

2) Wenn ich mir den Quelltext der versendeten Mail ansehe, stelle ich fest, dass der interne DNS-Namen des PMG-LXCs mehrfach auftaucht:

Code:
pmg.fritz.box

Das ist natürlich unschön. Wie bekomme ich das denn weg?

[EDIT] Habe im Template folgendes gesetzt

Code:
mydomain = meine.domain
myhostname = mail.meine.domain

Jetzt ist's nur noch 1x im Quelltext zu finden:

Code:
Received: from pmg.fritz.box (localhost [127.0.0.1])

Das soll aber auch noch weg.

3) Welche Einstellungen nehme ich bei MailProxy/Relaying in der WebGUI vor? Siehe Screenshot oben. Sind diese Werte da richtig?

Code:
Default Relay: smtp.strato.de
Relay-Port: 587
Smarthost: smtp.strato.de:587
 
Last edited:
1) Die in Post #1 genannten Änderungen sind nicht persistent d.h. beim einem Reboot bzw. Änderung an der Config, werden wieder Defaultwerte gesetzt.

Ist es richtig, dass man die Änderungen auch in das Template ergänzen muss?
fast - das template muss nach /etc/pmg/templates kopiert werden - ist in der Referenzdokumentation beschrieben:
https://pmg.proxmox.com/pmg-docs/pmg-admin-guide.html#pmgconfig_template_engine

Das soll aber auch noch weg.
Die received header sind für das mail-processing wichtig - z.B. um mail-loops zu erkennen - ich würde das mal einfach hinnehmen.
der name der dort drinnen steht ist der hostname (also den korrekt setzen (er kann auch in der postfix config sicher adaptiert werden))

3) Welche Einstellungen nehme ich bei MailProxy/Relaying in der WebGUI vor? Siehe Screenshot oben. Sind diese Werte da richtig?
da PMG kein SMTP-Auth outbound unterstützt musst du ohnehin das template anpassen - aber wenn du zu port 587 relayen willst - sollte auch port 587 eingetragen werden (im Screenshot steht 25)


Ich hoffe das hilft!
 
  • Like
Reactions: Josch
Hallo und vielen Dank für Deine Antwort.

Habe nochmal ein paar kurze Nachfragen.

zu 1)
Den Ordner /etc/pmg/templates gibt es nicht, Also einfach mit mkdir anlegen?!?!
Der Dateiname z.B. "main.cf.in" bleibt aber dann so wie er ist? Oder muss der dann "main.cf" lauten?

zu 2)
OK, dann nehme ich mal so hin :)

zu 3)
Wenn ich das richtig verstehe, brauche ich nur den "Smarthost : Port" definieren. Also für ausgehende Mails. Das "Default Relay" ist nur für eingehende Mails. Stimmt's?

1678120540628.png


Noch eine neue Frage:

Würdet ihr das Mailsystem hinter einen ReverseProxy setzen? Oder direkt an Internet klemmen?
 
Last edited:
Den Ordner /etc/pmg/templates gibt es nicht, Also einfach mit mkdir anlegen?!?!
ja

zu 3)
Wenn ich das richtig verstehe, brauche ich nur den "Smarthost : Port" definieren. Also für ausgehende Mails. Das "Default Relay" ist nur für eingehende Mails. Stimmt's?
stimmt so - sorry hatte den screenshot nicht genau angeschaut.

(das default relay ist das ziel für mails die an eine der relay domains gehen, und für die es keinen eigenen transport entry gibt).

Ich hoffe das hilft!
 
  • Like
Reactions: Josch

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!