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).

Reply via email to