Hello there, First of all, congratulate all folks behind this remarkable, predictable and reliable software that is postfix, which.......at the same time is well documented (bonus). It is is difficult to find software with some of these attributes, but postfix have them all.
--== CONTEXT OF THE PROBLEM ==-- Having said that, we are trying to implement a discard for a particular recipient of a multi-recipient message (which seems to be something recurrent). At this point, we are trying to discard based on the destination domain and/or the local-part@ (without considering the destination domain) by reporting a DISCARD code using delegation protocol (with valvula [1]). At the same time, we are using the following type of declarations at master.cf, combined with FILTER command (delegation), to make a particular sasl user to use a particular outgoing ip when accepted: transport16 unix - - n - - smtp -o smtp_bind_address=X.X.X.X -o syslog_name=postfix16 --== WHAT FAILS ==-- After reviewing documentation about why discard applies to all recipient, we have found that this is documented and expected behaviour: http://www.postfix.org/access.5.html Note: this action currently affects all recipients of the message. To discard only one recipient without discarding the entire message, use the transport(5) table to direct mail to the discard(8) service. After that, we have tried to implement suggested solution by declaring a transport_maps = hash:/etc/postfix/transports ...where we declare destination domains we want to discard. # with format yahoogroups.com discard: .yahoogroups.com discard: # and the corresponding >> postmap /etc/postfix/transports However, we are finding two problems: 1) When a FILTER command is issued to a particular transport to use a particular outbound IP (as shown in the example above, transport16), the smtp(8) client created that delivers that message, entirely ignores any declaration found for transport_maps = ..., so domains declared there, aren't discarded. 2) Even though having previous point working, we haven't found any possible solution to "discard:" (via transport) or DISCARD (via delegation) based on the local-part@ in for a particular recipient in a multi-recipient message. --== QUESTIONS ==-- 1) Is there a way do a DISCARD of a particular recipient in a mult-recipient message and at the same time calling FILTER+trasnport16 to select a particular outgoing IP as we did? 2) Same question as 1) but from a different point of view, is there a way to flag as "already handled/delivered" a particular recipient in a message directly in the queue? 3) Are we wrong or the only solution is to go with a smtp-like content filter that does the recipient removal? Thanks for your time and patience, Best Regards, [1] http://www.aspl.es/valvula -- Francis Brosnan Blázquez <francis.bros...@aspl.es> ASPL 91 134 14 22 - 91 134 14 45 - 91 116 07 57 AVISO LEGAL Este mensaje se dirige exclusivamente a su destinatario. Los datos incluidos en el presente correo son confidenciales y sometidos a secreto profesional, se prohíbe divulgarlos, en virtud de las leyes vigentes. Si usted no lo es y lo ha recibido por error o tiene conocimiento del mismo por cualquier motivo, le rogamos que nos lo comunique por este medio y proceda a destruirlo o borrarlo. En virtud de lo dispuesto en la Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal, le informamos de que sus datos de carácter personal, recogidos de fuentes accesibles al público o datos que usted nos ha facilitado previamente, proceden de bases de datos propiedad de Advanced Software Production Line, S.L. (ASPL). No obstante, usted puede ejercitar sus derechos de acceso, rectificación, cancelación y oposición dispuestos en la mencionada Ley Orgánica, notificándolo por escrito a: ASPL - Protección Datos, C/Antonio Suárez 10 A-102, 28802, Alcalá de Henares (Madrid).