On 3 Aug 2015, at 7:30, hyndavirap...@bel.co.in wrote:
hi,
I would like to develop one tracking module with postfix server to
achieve
following things..
1. When mail has reached each MTA(including relay MTA) on its way to
destination
2. If mail delivery fails, at which MTA mail delivery failed and at
what time
3. Which MTA has Sent DSN, and when it has reached User
In principle, all of this is done using the DSN extensions to SMTP. The
base enhancement to the protocol is defined by RFC3461. A copy of which,
with links to later additions, is at https://tools.ietf.org/html/rfc3461
What is the best way to implement this module...
As a SMTP proxy through which a Postfix instance routes messages lacking
the desired DSN arguments. The proxy would simply re-inject messages to
Postfix using the DSN extension.
Thanking you in advance.
Don't be so fast to thank me. I have just advised you on what might be
called a "snipe hunt" or a "wild goose chase" if you expect your tool to
work across the Internet in any general sense. It will not, it cannot,
it should not.
In the real world, many (probably MOST) MTAs do not fully support the
base DSN extension or its extensions and in many cases that is a
conscious and prudent security choice. Speaking as someone who has run
dozens of Internet email servers for over 20 years using about a
half-dozen different MTA implementations: no MTA I have ever
administered would fully cooperate with the tool you are trying to
create. You cannot depend on servers that you do not control telling you
about how they handle the mail you pass to them internally (or whether
they pass it along to others) because they *SHOULD NOT* do so. You can
detect this fact in the focus of RFCs 3885-3888, which define a robust
message tracking model and mechanism. It is envisioned for the mail
servers of a single enterprise, NOT the global Internet.