Lösung 1:
Überprüfen Sie zunächst, ob Ihre Installation von Postfix pcre unterstützt, indem Sie den Befehl postconf -m
eingeben und nach einer Zeile mit pcre
suchen drin. Nachdem Sie bestätigt haben, dass Sie pcre-Unterstützung haben, können Sie wie folgt vorgehen:
/etc/postfix/login_maps.pcre
:
/^(.*)@example\.org$/ ${1}
In main.cf
:
smtpd_sender_login_maps = pcre:/etc/postfix/login_maps.pcre
Das sollte gut funktionieren.
Lösung 2:
Der in der anderen Antwort erwähnte reguläre Ausdruck entspricht dem Benutzerteil der E-Mail-Adresse (angemeldeter Benutzer @beispiel.org). Hier sind einige zusätzliche Informationen.
Um die vollständige E-Mail-Adresse als Benutzernamen zu verwenden, verwenden Sie die folgende Regex (z. B. in /etc/postfix/login_map
):
/^(.*)$/ ${1}
Das bedeutet, dass Ihr Benutzername immer Ihre vollständige E-Mail-Adresse ist ([email protected] ) - kein anderer bestehender Benutzername darf von dieser Adresse senden - und Sie müssen nicht jedes Mal eine zusätzliche Postfix-Konfigurationsdatei aktualisieren, wenn Sie einen Benutzer hinzufügen.
Dies kann auf einem Server verwendet werden, auf dem mehrere Domänen konfiguriert sind. Benutzer [email protected] darf nur von dieser Adresse aus senden, aber nicht von [email protected] (anderer Benutzer und E-Mail, andere Person). Der Benutzername john.doe wäre in diesem Fall mehrdeutig.
Abhängig von Ihrer Konfiguration befindet sich möglicherweise auch die Einstellung smtpd_sender_login_maps, die auf diese Datei zeigen muss, in der master.cf (anstelle von main.cf). Die offizielle Dovecot-Dokumentation enthält das folgende Beispiel (wenn Sie SASL/submission verwenden):
submission inet n - n - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_sasl_security_options=noanonymous
-o smtpd_sasl_local_domain=$myhostname
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_sender_login_maps=hash:/etc/postfix/virtual
-o smtpd_sender_restrictions=reject_sender_login_mismatch
-o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject
In diesem Beispiel sollte die Einstellung so angepasst werden, dass sie auf die richtige Datei zeigt und regex oder (besser) pcre als Typ verwendet. Insbesondere wenn eine Datei mit dem Namen "virtual" bereits für einen anderen Zweck verwendet wird (beispielsweise für virtual_alias_maps, wie in einem offiziellen Postfix-Beispiel gezeigt), sollte eine andere Datei für das Login-Mapping verwendet werden.
Von:
smtpd_sender_login_maps=hash:/etc/postfix/virtual
An:
smtpd_sender_login_maps=pcre:/etc/postfix/login_map