OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
DSN "action: relayed" for local_transport using pipe

From: Bergter Esther (Esther.Bergtervipcomag.de)
Date: Fri Aug 24 2007 - 07:24:34 CDT


Hello,
We are using postfix as MTA and pipe incoming mails into our own command that puts the mail in the user store residing on the same host.
 
Everything is OK except DSN "success" :
Postfix returns the Delivery Report, but it has "Action: relayed", we would like it to be "Action: delivered"
 
The pipe is running on the same server and is deliverying mail to the user store, so there are no next hops involved.
A pipe command will obviously never be able to send a DSN itself (no SMTP protocol).
 
Our pipe command returns enhanced status codes, but they are not interpreted if exit is 0 (success); that is conformant to what pipe(8) says.
 
We could not find anything helpful in the newsgroups or documentation.
 
Did we miss something?
Can somebody give advise, what we can do to get 'Action: delivered'?
 
-------------------
Sample Delivery Record:
 
Reporting-MTA: dns; testmachine.example.com
X-Postfix-Queue-ID: 22CB920BAD
X-Postfix-Sender: rfc822; memydomain.com
Arrival-Date: Fri, 24 Aug 2007 14:01:07 +0200 (CEST)
 
Final-Recipient: rfc822; demo1 testmachine.example.com <mailto:demo1testmachine.example.com>
Original-Recipient: rfc822;demo1 testmachine.example.com <mailto:demo1testmachine.example.com>
Action: relayed
Status: 2.0.0
Diagnostic-Code: X-Postfix; delivery via teamXchange: delivered via teamXchange
    service

-------------------
/var/log/maillog:
Aug 24 14:01:15 vpcls03 postfix/pipe[7668]: 22CB920BAD: to=<demo1 testmachine.example.com <mailto:demo1testmachine.example.com> >, relay=teamXchange, delay=8.5, delays=0.08/0.02/0/8.4, dsn=2.0.0, status=sent (delivered via teamXchange service)

-------------------
This is our addition to main.cf:
 
local_transport = teamXchange
local_recipient_maps =
teamXchange_destination_recipient_limit = 1

-------------------
and this we added to master.cf:
 
# teamXchange
teamXchange unix - n n - 1 pipe
  user=teamxchange argv=/tmp/mywrapper ${recipient} ${sender}

--
Regards,
Esther