i think is easy


thanks

MOD EDIT: ETRN 90% done (fully functional but needs proper GUI area)
Can't you just add a flag for "Awaiting ETRN", in which case the message gets totally ignored on all delivery queue operations -- this gets set if the unavailable server is listed as supporting such -- servers get added to that list, either manually or if support is determined from any SMTP conversation with such a server.martin wrote:It's not very easy to implement support for this.
It would appear that this hasn't happened yet. Off hand, I can't think of an MTA that I've used that doesn't offer this feature. It's pretty simple in concept:martin wrote:It's not very easy to implement support for this. I'll think some about it and will probably add it in 3.4.
This already exists in hMailServer. Except for the "dynamic IP address" part.1 Provide a place to list domains for which relay service is provided. In at least one case, the HOSTS file is used for this. This list contains the domain name and IP address for delivery. Where the IP address is dynamic, a value of 0.0.0.0 would indicate "unspecified".
Also exists.2 Add logic to message acceptance process to accept messages for a domain in the relay list, even if there are no local mailboxes on hMS. These messages simply stay in the queue until fetched, delivered, or expire in the normal way.
Does not exist.3 When an ETRN request is received, fire off an SMTP queue process to select all messages in the queue for the requested domain and send them immediately.
martin wrote:"Probably" is indeed a vague term.
Cool, and coolThis already exists in hMailServer. Except for the "dynamic IP address" part
...
Also exists.
I don't think that there's any need to be that fussy. I'm not aware of any other MTA that bothers, either. Make a delivery attempt for all messages to be delivered to that domain. If some messages are also to be delivered elsewhere, then their delivery attempt count simply gets incremented by 1. One out of up to 360 (One attempt every 20 minutes for 5 days for example, as required by RFC 1822 IIRC) isn't going to make any difference in the real world.3 When an ETRN request is received, fire off an SMTP queue process to select all messages in the queue for the requested domain and send them immediately.
Does not exist.
I'm not saying it's impossible or anything, just that it's more than a hours worth of work. For instance, a single message may be addressed to 10 different recipients. When an ETRN is issued, hMailServer should do a delivery attempts on those messages, but only for recipients which matches the domain.
Sample client-side logs"SMTPD" 3820 9 "2010-11-01 19:24:11.047" "127.0.0.1" "SENT: 220 AE7FB352FC4D4B7 ESMTP"
"SMTPD" 3180 9 "2010-11-01 19:24:11.047" "127.0.0.1" "RECEIVED: HELO mydomain.com"
"SMTPD" 3180 9 "2010-11-01 19:24:11.057" "127.0.0.1" "SENT: 250 Hello."
"SMTPD" 2116 9 "2010-11-01 19:24:11.057" "127.0.0.1" "RECEIVED: ETRN mydomain.com"
"SMTPD" 2116 9 "2010-11-01 19:24:11.057" "127.0.0.1" "SMTPDeliverer - ETRN - Route found, continuing.."
"SMTPD" 2116 9 "2010-11-01 19:24:11.057" "127.0.0.1" "SMTPDeliverer - ETRN - Route settings read successfully."
"SMTPD" 2116 9 "2010-11-01 19:24:11.057" "127.0.0.1" "SENT: 250 OK, message queuing started for mydomain.com"
"SMTPD" 2116 9 "2010-11-01 19:24:11.057" "127.0.0.1" "SMTPDeliverer - ETRN - 250 OK, message queuing started."
"SMTPD" 1232 9 "2010-11-01 19:24:11.087" "127.0.0.1" "RECEIVED: QUIT"
"SMTPD" 1232 9 "2010-11-01 19:24:11.087" "127.0.0.1" "SENT: 221 goodbye"
Do note that hMail stops you from setting things up so that hmail will connect to itself but my local version has that restriction disabled for testing. I can't imagine there'd be a legit reason for you to ever ETRN yourself anyway but for the sake of testing & posting up sample logs I did."SMTPC" 3180 8 "2010-11-01 19:24:11.047" "127.0.0.1" "RECEIVED: 220 AE7FB352FC4D4B7 ESMTP"
"SMTPC" 3180 8 "2010-11-01 19:24:11.047" "127.0.0.1" "SENT: HELO mydomain.com"
"SMTPC" 1232 8 "2010-11-01 19:24:11.057" "127.0.0.1" "RECEIVED: 250 Hello."
"SMTPC" 1232 8 "2010-11-01 19:24:11.057" "127.0.0.1" "SENT: ETRN mydomain.com"
"SMTPC" 2116 8 "2010-11-01 19:24:11.087" "127.0.0.1" "RECEIVED: 250 OK, message queuing started for mydomain.com"
"SMTPC" 2116 8 "2010-11-01 19:24:11.087" "127.0.0.1" "SENT: QUIT"
"SMTPC" 3416 8 "2010-11-01 19:24:11.107" "127.0.0.1" "RECEIVED: 221 goodbye"