J'ai des alias configurés dans postfix, tels que les suivants:
[email protected]: [email protected], [email protected] ...
Lorsqu'un e-mail est envoyé à [email protected] et que l'un des destinataires de cet alias est cc: ed, ce qui est assez courant (par exemple: "Répondre à tous"), l'e-mail est remis en double. Par exemple, si un e-mail est envoyé à [email protected] et [email protected] est cc: ed, il sera envoyé deux fois. Selon la FAQ Postfix , cela est voulu par la conception car Postfix envoie des e-mails en parallèle sans étendre les groupes, ce qui le rend plus rapide que sendmail. Maintenant, tout va bien et dandy, mais est-il possible de configurer Postfix pour supprimer réellement les destinataires en double avant d'envoyer l'e-mail?
J'ai trouvé beaucoup de messages de personnes partout sur le net qui ont le même problème, mais je n'ai pas encore trouvé de réponse. Si cela n'est pas possible dans Postfix, est-il possible de le faire quelque part en cours de route? J'ai essayé d'éduquer mes utilisateurs, mais c'est plutôt futile j'ai peur ...
J'utilise postfix sur Mac OS X Server 10.6, amavis est défini comme content_filter et dovecot est défini comme mailbox_command. J'ai essayé de configurer procmail en tant que content_filter pour la livraison smtp (selon la suggestion ci-dessous), mais je n'arrive pas à faire les choses correctement. Pour diverses raisons, je ne peux pas remplacer la configuration standard d'OS X, ce qui signifie que postfix, amavis et dovecot restent en place. Je peux cependant y ajouter si je le souhaite.
la source
Réponses:
Postfix n'a aucune idée des e-mails en double en raison de sa structure. Il est possible de faire ce que vous proposez en utilisant procmail comme agent de livraison.
Essentiellement, chaque message provenant d'un client doit être livré avec un ID de message unique. Dans le cas où il est livré à plusieurs personnes, l'ID de message doit être le même, nous enregistrons donc tous les en-
Message-Id
têtes que nous avons vus et supprimés et les futurs qui correspondent à cette liste.Depuis http://novosial.org/procmail/
la source
content_filter
qui vous permettra d'effectuer la même tâche au niveau mondialIl existe un moyen de le faire, mais sans utiliser Postfix lui-même.
Si vous utilisez un Dovecot avec une implémentation de Pigeonhole de Sieve relativement récent , il existe une extension spéciale qui peut être utilisée pour la déduplication à la livraison. Dans Dovecot plus ancien que 2.2.18, le nom de cette extension est "vnd.dovecot.duplicate" et elle est désactivée par défaut, dans les versions plus récentes, l' extension est appelée "duplicate" et devrait déjà être activée, mais l'activer explicitement ne le sera pas nuire.
/etc/dovecot/conf.d/90-sieve.conf:
Créez ensuite le script sieve pour gérer la déduplication elle-même (vous pouvez ajuster le nom de fichier comme bon vous semble).
/mnt/mail/users/global_sieve/deduplicate.sieve:
Compilez le script à l'aide de sievec et assurez-vous que le script est lisible par l' utilisateur dovecot . Plus dans les documents Dovecot.
Si vous utilisez Cyrus, il existe une fonction de suppression de remise des messages en double qui peut être activée à l'aide de
suppress_duplicates = yes
.la source
duplicate
extension fonctionne au niveau utilisateur. J'essayais d'arrêter les doublons sur plusieurs utilisateurs To / Cc-d dans unefileinto
boîte aux lettres centrale . Ça ne marche pas. J'ai également dû définir unevirtual_alias_maps
entrée fourre-tout postfix , telle que@domain.com [email protected]
, puis la vérification des doublons de tamis atteindracatchall
la liste des doublons de l'utilisateur.Une solution que le travail pour moi est d' ajouter
-o receive_override_options=no_address_mappings
surmaster.cf
Voici le doc: http://www.postfix.org/postconf.5.html#receive_override_options
la source
Ceci provient d'une ancienne FAQ postfix:
Postfix envoie des messages en double Certaines personnes se plaindront que Postfix envoie des messages en double. Cela se produit chaque fois qu'un message est envoyé à plusieurs adresses qui atteignent le même utilisateur. Des exemples de tels scénarios sont:
Donc, par conception, vous voyez ce comportement. Peut-être que si vous trouvez un filtre de contenu qui peut supprimer les ID de message en double, vous pouvez l'éliminer après l'événement de remise.
Sendmail n'a pas ce problème car il développe tout d'abord et supprime les doublons.
la source
La solution officielle est ici .. http://osdir.com/ml/mail.postfix.devel/2007-05/msg00010.html
duplicate_filter_limit (10000) Le nombre maximal d'adresses mémorisées par les filtres en double du destinataire pour l'expansion des alias (5) ou virtuels (5), ou pour les affichages de file d'attente showq (8) (avec les versions antérieures de Postfix, la limite par défaut était de 1000).
duplicate_filter_style (strict) La politique de filtrage des destinataires en double: stricte ou pragmatique.
la source
J'ai mis cela dans mon main.cf et cela a bien fonctionné mais seulement pour le courrier envoyé depuis mon domaine. J'ai encore des doublons si j'envoie des e-mails de l'extérieur de mon domaine (Yahoo sur mon domaine par exemple.)
source: http://article.gmane.org/gmane.mail.postfix.user/119783
la source