web-dev-qa-db-fra.com

Des alias postfix et des courriels en double, comment réparer?

J'ai des alias installés dans Postfix, tels que ce qui suit:

[email protected]:    [email protected], [email protected] ...

Lorsqu'un email est envoyé à [email protected], et n'importe lequel des destinataires de cet alias est cc: Ed qui est assez courant (c'est-à-dire: "Répondre tout"), le courrier électronique est livré en doublures. Par exemple, si un e-mail est envoyé à [email protected] et [email protected] est cc: ed, il sera livré deux fois. Selon la Postfix FAQ , ceci est par conception lorsque Postfix envoie un e-mail en parallèle sans développer les groupes, ce qui le rend plus rapide que Sendmail. Maintenant, c'est tout bien et dandy, mais est-il possible de configurer Postfix pour supprimer réellement les destinataires en double avant d'envoyer le courrier électronique?

J'ai trouvé beaucoup de postes de personnes partout sur le net qui ont le même problème, mais je n'ai pas encore de réponse. Si cela n'est pas possible de faire dans Postfix, est-il possible de le faire quelque part sur le chemin? J'ai essayé d'éduquer mes utilisateurs, mais c'est plutôt futile, j'ai peur ...

Je suis en cours d'exécution postfix sur Mac OS X Server 10.6, Amavis est défini comme contenu_filter et dovecot est défini comme mailbox_command. J'ai essayé de configurer PROCMAIL en tant que content_filter pour la livraison SMTP (conformément à la suggestion ci-dessous), mais je ne peux pas sembler le faire correctement. Pour diverses raisons, je ne peux pas remplacer la configuration Standard OS X, ce qui signifie postfix, Amavis et Dovecot Stay Restez. Je peux cependant y ajouter si je le souhaite.

18
Marcus Stade

Postfix n'a aucune idée des deux courriels en double grâce à la manière dont il est structuré. Il est possible de faire ce que vous suggérez à l'aide de PROCMAIL comme agent de livraison.

Essentiellement, chaque message provenant d'un client doit être livré avec un identifiant de message unique. Dans le cas où il est livré à plusieurs personnes, le message-ID devrait être identique, afin que nous sauvions tout Message-Id Les en-têtes que nous avons vu et défaussent et futurs qui correspondent à cette liste.

De http://novosial.org/procmail/

:0 Wh: msgid.lock
| formail -D 8192 ~/.procmail/msgid.cache
4
Philip Reynolds

Il y a un moyen de le faire, mais n'utilisez pas Postfix lui-même.

Si vous utilisez un dovecot raisonnablement récent avec , la mise en œuvre du tamis , une extension spéciale peut être utilisée pour une déduplication à livraison. Dans Dovecot plus âgé que 2.2.18, le nom de ceci extension est "vnd.dovecot.duplicate" Et c'est désactivé par défaut, dans les nouvelles sorties, le l'extension est appelée "duplicate". Et devrait être déjà activé, mais lui permettant de ne pas nuire explicitement.

/etc/dovecot/conf .d/90-sieve.conf:

plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve

  sieve_before = /mnt/mail/users/global_sieve/deduplicate.sieve
  # sieve_before2 = /mnt/mail/users/global_sieve/antispam.sieve

  sieve_extensions = +vnd.dovecot.duplicate  # for dovecot < 2.2.18
  #sieve_extensions = +duplicate             # for dovecot >= 2.2.18
}

Créez ensuite le script de tamis pour gérer la déduplication elle-même (vous pouvez régler le nom de fichier comme vous le voyez).

/mnt/mail/utilisateurs/global_sieve/déduplicate.sieve:

require "vnd.dovecot.duplicate"; # for dovecot < 2.2.18
# require "duplicate";           # for dovecot >= 2.2.18

if duplicate {
    discard;
    stop;
}

Compilez le script à l'aide de Sievec et assurez-vous que le script est lisible par dovecot Utilisateur. plus dans DOCOT DOCS.

Si vous utilisez Cyrus, il y a une fonctionnalité A Suppression de la suppression du message dupliqué qui peut être activée à l'aide de suppress_duplicates = yes.

3
Jan Hadáček

Une solution qui fonctionne pour moi est d'ajouter -o receive_override_options=no_address_mappings au master.cf

Ici, le doc: http://www.postfix.org/postconf.5.html#receive_override_options

1
Pioz
enable_original_recipient=no

Je mets ça dans mon Main.cf et ça a fonctionné bien mais seulement pour le courrier envoyé de mon domaine. J'ai toujours des doublons si j'envoie des courriels de l'extérieur de mon domaine (Yahoo à mon domaine pour par exemple.)

source: http://article.gmane.org/gmane.mail.postfix.user/11978

0
ychaouche

Cela vient d'une ancienne FAQ postfix:

Postfix envoie un courrier en double que certaines personnes se plaignent que Postfix envoie des messages en double. Cela se produit chaque fois qu'un message est envoyé à plusieurs adresses atteignant le même utilisateur. Des exemples de tels scénarios sont:

  • Un message est envoyé à l'utilisateur et à un alias qui répertorie l'utilisateur. L'utilisateur reçoit une copie du courrier directement et une copie via l'alias.

    • Un message est envoyé à plusieurs alias qui répertorient l'utilisateur. L'utilisateur reçoit une copie du courrier via chaque alias.

Certaines personnes vont même affirmer que c'est le comportement "droit". C'est probablement plus une question d'attente et de ce que l'on utilise.

Cela peut être "fixe" uniquement en faisant du postfix plus lent. Dans les exemples ci-dessus, Postfix devait d'abord développer complètement toutes les listes de distribution avant de commencer toute livraison. Par conception, Postfix fournit un mail à différentes destinations en parallèle et la livraison locale ne fait pas exception. C'est pourquoi Postfix peut être plus rapide que Sendmail.

Donc, par design, vous voyez ce comportement. Peut-être que si vous trouvez un filtre de contenu pouvant dépouiller des identifiants de message en double, vous pouvez l'éliminer après l'événement de livraison.

Sendmail n'a pas ce problème car il élargit tout d'abord et élimine les doublons.

0
jeffatrackaid

La solution de l'Oficial est ici .. http://osdir.com/ml/mail.postfix.devel/2007-05/msg00010.html

dUPLIDE_FILTER_LIMIT (10000) Le nombre maximal d'adresses mémorisées par les filtres en double destinataire pour les alias (5) ou les affichages de la file d'alias virtuels (5) (5) (5) (avec des sorties de postfix antérieures, la limite par défaut était de 1000).

dUPLIDE_FILTER_STYLE (strict) La politique de filtre de la duplication du destinataire: strict ou pragmatique.

0
Terry