From: Adam on
Good Morning,

Is there a way to hide the syserr as well as the path returned by a
pipe transport? For instance, I have virtual accounts and they are
handled by a custom transport. When a message is sent to a
non-existent user, the mailer-daemon response to the sender is:

<bob(a)example.com>: Command died with status 1:
"/usr/lib/xmail/postfix/vmtransport". Command output: Unknown user.
The user "bob" does not exist at "example.com".


Is it possible to only have it send back the command output and not
the information before it? So instead it would read:

<bob(a)example.com>: Unknown user. The user "bob" does not exist at
"example.com".


I've searched around on Google and read up on the pipe transport,
however I didn't see anything that would suppress that. The only
reason this is even an issue is because I've had some users that
thought there was a problem because of the "Command died" message.
Any input on this would be greatly appreciated.

Cheers,

Adam

From: Wietse Venema on
Adam:
> Good Morning,
>
> Is there a way to hide the syserr as well as the path returned by a
> pipe transport? For instance, I have virtual accounts and they are
> handled by a custom transport. When a message is sent to a
> non-existent user, the mailer-daemon response to the sender is:
>
> <bob(a)example.com>: Command died with status 1:
> "/usr/lib/xmail/postfix/vmtransport". Command output: Unknown user.
> The user "bob" does not exist at "example.com".

DO NOT ACCEPT MAIL FOR NON-EXISTENT USERS.

Your system is sending back SPAM to innocent people who did not send it.

Wietse

From: Adam on
Wietse:

Thank you for the reply. Rest assured this was specifically for SASL
authenticated users. Non-authenticated users would have had an
unknown recipient rejected by the policy service.

I solved the issue by setting up virtual_mailbox_maps. My primary
reason for wanting to avoid that was Apple Mail doesn't bother to give
the user the SMTP reject code/error for a message that has one or more
invalid recipients and no valid recipients.

Instead it responds with "Verify that you have addressed this message
correctly. Check your SMTP server settings in Mail preferences and
verify any advanced settings with your system administrator."

People don't assume they messed up an address, instead they assume
something is wrong on this end.

Anyway, have a great weekend.

Thanks,
Adam

On Fri, Jun 18, 2010 at 5:50 AM, Wietse Venema <wietse(a)porcupine.org> wrote:
> Adam:
>> Good Morning,
>>
>> Is there a way to hide the syserr as well as the path returned by a
>> pipe transport?  For instance, I have virtual accounts and they are
>> handled by a custom transport.  When a message is sent to a
>> non-existent user, the mailer-daemon response to the sender is:
>>
>> <bob(a)example.com>: Command died with status 1:
>>    "/usr/lib/xmail/postfix/vmtransport". Command output: Unknown user.
>>  The user "bob" does not exist at "example.com".
>
> DO NOT ACCEPT MAIL FOR NON-EXISTENT USERS.
>
> Your system is sending back SPAM to innocent people who did not send it.
>
>        Wietse
>

From: Victor Duchovni on
On Fri, Jun 18, 2010 at 05:01:14AM -0500, Adam wrote:

> Good Morning,
>
> Is there a way to hide the syserr as well as the path returned by a
> pipe transport? For instance, I have virtual accounts and they are
> handled by a custom transport. When a message is sent to a
> non-existent user, the mailer-daemon response to the sender is:
>
> <bob(a)example.com>: Command died with status 1:
> "/usr/lib/xmail/postfix/vmtransport". Command output: Unknown user.
> The user "bob" does not exist at "example.com".

DO NOT exit with status 1. Children of pipe(8) MUST exit with
one of the status codes in <sysexits.h>

> Is it possible to only have it send back the command output and not
> the information before it? So instead it would read:
>
> <bob(a)example.com>: Unknown user. The user "bob" does not exist at
> "example.com".

Exit with a correct status code.

--
Viktor.

 | 
Pages: 1
Prev: Spam notification
Next: SQLite support in Postfix