Řešení 1:
Nejprve zkontrolujte, zda vaše instalace Postfixu podporuje pcre zadáním příkazu postconf -m
a hledáte řádek s pcre
v něm. Jakmile ověříte, že máte podporu pcre, můžete postupovat následovně:
/etc/postfix/login_maps.pcre
:
/^(.*)@example\.org$/ ${1}
V main.cf
:
smtpd_sender_login_maps = pcre:/etc/postfix/login_maps.pcre
To by mělo fungovat dobře.
Řešení 2:
Regulární výraz uvedený v druhé odpovědi odpovídá uživatelské části e-mailové adresy (přihlášený uživatel @example.org). Zde je několik dalších informací.
Chcete-li jako uživatelské jméno použít celou e-mailovou adresu, použijte následující regulární výraz (například v /etc/postfix/login_map
):
/^(.*)$/ ${1}
To znamená, že vaše uživatelské jméno je vždy vaše úplná e-mailová adresa ([email protected] ) – z této adresy není povoleno odesílat žádné další existující uživatelské jméno – a nemusíte aktualizovat další konfigurační soubor Postfixu pokaždé, když přidáte uživatele.
To lze použít na serveru, který má nakonfigurovaných více domén. Uživatel [email protected] je povoleno odesílat pouze z této adresy, ale ne z [email protected] (jiný uživatel a e-mail, jiná osoba). Uživatelské jméno john.doe by bylo v tomto případě nejednoznačné.
V závislosti na vaší konfiguraci může být nastavení smtpd_sender_login_maps, které musí ukazovat na tento soubor, v master.cf (místo main.cf). Oficiální dokumentace Dovecot obsahuje následující příklad (pokud používáte SASL/submission):
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
V tomto příkladu by mělo být nastavení upraveno tak, aby ukazovalo na správný soubor a jako typ bylo použito regex nebo (lépe) pcre. Zejména pokud je soubor s názvem "virtual" již používán pro jiný účel (například pro virtual_alias_maps, jak je znázorněno v oficiálním příkladu Postfixu), měl by být pro mapování přihlášení použit jiný soubor.
Od:
smtpd_sender_login_maps=hash:/etc/postfix/virtual
Komu:
smtpd_sender_login_maps=pcre:/etc/postfix/login_map