-
Notifications
You must be signed in to change notification settings - Fork 179
Q1407
RFC 1985 specifies that the SMTP command ETRN host.domain
causes all
mail queued for that host, no matter what domain it's for, to be
delivered. Why doesn't Exim support this?
Exim does not keep queues of mail for specific destinations. It just keeps one pool of undelivered messages. What is more, once you start a delivery of a message, it tries to deliver to all the addresses in the message, not just the one you may be interested in. (Of course, this doesn't usually do any harm.) The only way it could be done within Exim would be, for every message on the queue, to go through the motions of routing each undelivered address and see if that resulted in a delivery to the host of interest. This could be extremely expensive (e.g. 1,000 messages on the queue, only 1 for the given host). The bottom line is that Exim just wasn't designed for this kind of operation, that is, holding messages for intermittently connected hosts. The queueing arrangements are designed for handling delivery problems that are not expected to be common. A better way to do this is to implement the required queues separately. After all, keeping such mail on an active queue (where Exim will keep trying to deliver) is silly. If there is a lot of mail for these hosts, it also masks genuine delivery problems when you inspect the queue. Large ISPs who provide this kind of functionality do not usually leave waiting mail on the MTA's queue. Instead, they get it delivered into per-host directories, one message per file, in one of the special formats (BSMTP, maildir, or mailstore) and when an ETRN arrives, it kicks off some completely different program that establishes an SMTP connection to the host and shovels the waiting mail down it. That seems to me to be a much neater way of doing this. It means you can easily add additional functionality such as archiving or throwing away uncollected mail. One program that has this functionality is ssmtp, which can be found in ftp://metalab.unc.edu/pub/Linux/system/mail/mta/. Alternatively, sample configuration C037 demonstrates an elegant way of using Exim itself to deliver the saved messages when the client issues an ETRN.
- When I'm not connected to the Internet, how can I arrange for mail to
- I have a dial-up machine, and I use the
queue_smtp_domains
option so - How should Exim be configured when it is acting as a temporary storage
- I have
queue_domains
orqueue_smtp_domains
set, and use -qf to - I have an ISDN connection and would like a way of running the queue
- When I dial up to collect mail from my ISP, only the first 10 messages
- RFC 1985 specifies that the SMTP command
ETRN host.domain
causes all - If email has been deferred to a member on a local mailing list
- I would like to have a separate queue per domain for hosts which dial in