J'ai configuré un serveur Postfix avec SMTP AUTH (STARTTLS sur le port 587). Tous mes utilisateurs sont dans le domaine "example.org". Je veux faire en sorte que l'adresse de l'expéditeur soit "[email protected]".
J'ai appris que cela peut être réalisé avec les options main.cf
smtpd_sender_restrictions = reject_sender_login_mismatch, ...
smtpd_sender_login_maps = hash:/etc/postfix/smtpd_sender_login_maps
avec un fichier login_maps comme:
[email protected] a
[email protected] b
[email protected] c
...
(voir aussi Bloquer l'adresse d'usurpation d'usurpation avec SMPT AUTH ), mais cela signifierait que je devrai modifier le fichier login_maps chaque fois que j'ai un nouvel utilisateur. Je n'ai pas besoin d'un mappage aussi flexible: il devrait toujours être "[email protected]". Existe-t-il une option plus simple?
sudo apt-get install postfix-pcre
. C'était peut-être évident pour la plupart.$myhostname
variable de référence ?. Ici, vous pouvez voir que Postfix est capable de rechercher la table de recherche par la partie utilisateur de l'e-mail ...Le regex mentionné dans l'autre réponse correspond à la partie utilisateur de l'adresse e-mail ( utilisateur connecté @ example.org). Voici quelques informations supplémentaires.
Pour utiliser l'adresse e-mail complète comme nom d'utilisateur, utilisez l'expression régulière suivante (par exemple dans
/etc/postfix/login_map
):Cela signifie que votre nom d'utilisateur est toujours votre adresse e-mail complète ( [email protected] ) - aucun autre nom d'utilisateur existant n'est autorisé à envoyer à partir de cette adresse - et vous n'avez pas à mettre à jour un fichier de configuration Postfix supplémentaire chaque fois que vous ajouter un utilisateur.
Cela peut être utilisé sur un serveur sur lequel plusieurs domaines sont configurés. L'utilisateur [email protected] est uniquement autorisé à envoyer à partir de cette adresse mais pas à partir de [email protected] (utilisateur et e-mail différents, personne différente). Le nom d'utilisateur john.doe serait ambigu dans ce cas.
En outre, selon votre configuration, le paramètre smtpd_sender_login_maps, qui doit pointer vers ce fichier, peut se trouver dans le fichier master.cf (au lieu de main.cf). La documentation officielle de Dovecot a l'exemple suivant (si vous utilisez SASL / soumission):
Dans cet exemple, le paramètre doit être ajusté pour pointer vers le bon fichier et utiliser regex ou (mieux) pcre comme type. Surtout si un fichier appelé "virtuel" est déjà utilisé dans un autre but (par exemple pour virtual_alias_maps, comme indiqué dans un exemple officiel de Postfix ), un autre fichier doit être utilisé pour le mappage de connexion.
De:
À:
la source
Pouvez-vous utiliser une combinaison d'expressions rationnelles sur l'en-tête, comme illustré ici: http://www.akadia.com/services/postfix_uce.html ? Ensuite, vous pouvez combiner avec regexp comme [*@example.org] pour garantir uniquement l'expéditeur de example.org.
la source