Soluzione 1:
Per prima cosa, controlla se la tua installazione di Postfix supporta pcre inserendo il comando postconf -m
e cercando una riga con pcre
dentro. Dopo aver verificato di avere il supporto pcre, puoi procedere come segue:
/etc/postfix/login_maps.pcre
:
/^(.*)@example\.org$/ ${1}
In main.cf
:
smtpd_sender_login_maps = pcre:/etc/postfix/login_maps.pcre
Dovrebbe funzionare correttamente.
Soluzione 2:
L'espressione regolare menzionata nell'altra risposta corrisponde alla parte dell'utente dell'indirizzo email (utente connesso @esempio.org). Ecco alcune informazioni aggiuntive.
Per utilizzare l'indirizzo email completo come nome utente, utilizza la seguente espressione regolare (ad esempio in /etc/postfix/login_map
):
/^(.*)$/ ${1}
Ciò significa che il tuo nome utente è sempre il tuo indirizzo email completo ([email protected] ) - nessun altro nome utente esistente può inviare da quell'indirizzo - e non devi aggiornare un file di configurazione Postfix aggiuntivo ogni volta che aggiungi un utente.
Questo potrebbe essere utilizzato su un server che ha più domini configurati. Utente [email protected] è consentito inviare solo da quell'indirizzo ma non da [email protected] (utente ed e-mail diversi, persona diversa). Il nome utente john.doe sarebbe ambiguo in questo caso.
Inoltre, a seconda della configurazione, l'impostazione smtpd_sender_login_maps, che deve puntare a questo file, potrebbe trovarsi in master.cf (invece di main.cf). La documentazione ufficiale di Dovecot ha il seguente esempio (se stai usando 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
In questo esempio, l'impostazione dovrebbe essere regolata per puntare al file giusto e utilizzare regex o (meglio) pcre come tipo. Soprattutto se un file chiamato "virtual" è già utilizzato per un altro scopo (ad esempio per virtual_alias_maps, come mostrato in un esempio Postfix ufficiale), un altro file dovrebbe essere utilizzato per la mappatura del login.
Da:
smtpd_sender_login_maps=hash:/etc/postfix/virtual
A:
smtpd_sender_login_maps=pcre:/etc/postfix/login_map