On-Demand Mail Relay

From Wikipedia, the free encyclopedia

ODMR (On-Demand Mail Relay) is an SMTP extension standardized in RFC 2645 that allows e-mail to be relayed after the sender has been authenticated. It is similar to ETRN but works with dynamically assigned IPs.

The ODMR works in a very simple way: after connecting to the ODMR service EHLO and AUTH commands are issued, followed by ATRN command (Authenticated TuRN); after a successful ATRN command the ODMR server begins to act as an SMTP client and starts to send all stored messages using SMTP protocol, using the same TCP connection; since the connection is initiated by the client, this protocol works well for machines having dynamically assigned IPs and/or firewall protected (i.e. your ISP may block incoming connection on port 25 or may use NAT, as done by FASTWEB in Italy)

[edit] External ODMR Support

The design of ODMR allows the protocol to be used with an SMTP server that doesn't support it natively. A separate application can be used to do the initial ODMR protocol negotiation (EHLO, AUTH and ATRN), then hand over the connection to the SMTP server once the protocol has reached the "reversed" state.

The following applications (among others) implement ODMR this way:

  • fetchmail (GPL) works with many protocols, including ODMR; win32 ports require Cygwin: looks like that don't supports TLS data exchange (using STARTTLS)
  • xatrn (closed source), win32 only; doesn't support TLS data exchange (using STARTTLS)
  • xODMR (GPL), portable (pure Python), works fine with TLS.
Languages