161 lines
5.8 KiB
Plaintext
161 lines
5.8 KiB
Plaintext
|
|
one queue per rcpt hurts when delivering to agents that don't
|
|
get stuck on shell commands or mailbox locks
|
|
|
|
xxx: bounced as yyy (bounced mail); xxx forwarded as zzz (mail
|
|
expanded via :include:).
|
|
|
|
postconf -f filename
|
|
|
|
get rid of the relocated feature - perhaps better to bounce recipients
|
|
at the SMTP port.
|
|
|
|
make sendmail/smtpd/cleanup output directory/fifo configurable
|
|
|
|
if postdrop scrutinizes input, skip the overhead in the pickup
|
|
daemon.
|
|
|
|
add a threshold to sendmail etc. stderr logging, so that class
|
|
"info" messages don't go to stderr.
|
|
|
|
implement an UCE control to accept mail if the sender domain sender
|
|
lists us as MX host (rafal wiosna). By the same token, implement
|
|
a control to accept mail when the client hostname/parent domain
|
|
lists us as their MX host.
|
|
|
|
received: headers should be generated by the cleanup daemon, and
|
|
client attributes ("with", "from", etc.) should be passed along
|
|
with the message. This guarantees that forwarded/aliased mail gets
|
|
stamped with the queue ID.
|
|
|
|
toss double-bounce mail even when mail for the local machine is
|
|
redirected to another box. See mail_addr_double_bounce().
|
|
|
|
remote showq access (cookie in maildrop or print some text to inform
|
|
the user)
|
|
|
|
defer: explain mail was bounced after N days
|
|
|
|
multiple rewrite processes?
|
|
|
|
gethostbyaddr() uses native name services, which can be slow.
|
|
|
|
can we detect a client that ignores error responses?
|
|
|
|
way to block inbound mail based on recipient suffix?
|
|
|
|
can Postfix implement one switchboard instead of having all these
|
|
little lookup tables?
|
|
|
|
make canonical/virtual/etc. table lookup order configurable
|
|
|
|
pass on client etc/ attributes along with message to delivery agent
|
|
|
|
scrutinize file opens in delivery agents just like in qmgr (better:
|
|
open the file and see if someone compromised the vmailer account
|
|
and is racing against us).
|
|
|
|
suspend/resume signals + master status (suspended/running) in PID
|
|
file. Maybe use FIFO instead. But, that means requests do not
|
|
arrive when the master is stuck.
|
|
|
|
postedit queue-id command...
|
|
|
|
more flexible mail queue list command
|
|
|
|
multiple queues may make ETRN processing less painful because there
|
|
is less delayed mail to plow through.
|
|
|
|
qmgr: configurable incoming/deferred mixing ratio so we can prioritize
|
|
new mail over old mail
|
|
|
|
Replace [my.own.ip.addr] by domain name so that delivered-to has
|
|
the desired effect.
|
|
|
|
Received: header and bounce text will be configurable with ${name}
|
|
macros. This requires that everything must cope with newlines in
|
|
config parameters (including the SMTP greeting bannner, yuck).
|
|
|
|
Pass along the client hostname/posting user with queue files, to
|
|
be logged by the queue manager.
|
|
|
|
showq: don't use mail_open_ok() - it assumes coordinated queue
|
|
access.
|
|
|
|
trivial-rewrite: optionally, use DNS to fully qualify hostnames.
|
|
|
|
pickup/cleanup/qmgr/local: add options record to control internal
|
|
features such as canonical/virtual mapping, VERPs etcetera.
|
|
|
|
Add hook for (domain, user database) support. This is needed if
|
|
you have lots of real domains and can't afford a separate master.cf
|
|
delivery agent entry for each domain.
|
|
|
|
Add support for DBZ databases, using the code from INN. Reportedly,
|
|
GDB handles large numbers of keys poorly.
|
|
|
|
Change the front-end to cleanup protocol so that the front-end
|
|
sends the expected message size, and so that the cleanup service
|
|
can report if there is enough space. This is useful only for the
|
|
SMTP server, because pickup can't produce bounce requests: the
|
|
bounce service can't read the maildrop file.
|
|
|
|
On systems with functional UNIX-domain sockets, use that instead
|
|
of FIFOs to trigger the pickup and qmgr services. This allows for
|
|
some coupling between front-end programs and queue manager, so that
|
|
a burst of inbound mail does not lock out the queue manager from
|
|
accessing the queue, causing outbound delivery to stop.
|
|
|
|
There is a need to run `master' services outside the "master"
|
|
environment, either for testing (new config files) or for production.
|
|
For consistency reasons, programs file names should be taken from
|
|
the master.cf file.
|
|
|
|
- The showq service. Used by the super user when the mail system
|
|
is down.
|
|
|
|
- The smtpd service for "sendmail -bs" emulation. Used by some
|
|
mail posting agents. Output to the maildrop, so that messages
|
|
can be posted even when the mail system is down.
|
|
|
|
- The rewrite engine for "sendmail -bt" emulation, for off-line
|
|
testing of configuration files. Requires a method to override
|
|
the location of the rewriting rules file. Or, perhaps there
|
|
should be an official place (/etc/vmailer/testbed?) for playing
|
|
with config files.
|
|
|
|
postfix-script: detect and/or build missing alias database. In
|
|
order to do this we must extract the alias_maps parameter from the
|
|
main.cf file, and create any missing files with the right ownerships.
|
|
|
|
implement the return-receipt-to notification service.
|
|
|
|
bounce/defer: provide attribute-value interface, for better logging
|
|
(expanded-from etc.) and non-delivery reports.
|
|
|
|
Maintain per-client short-term host status, so we can slow down
|
|
unreasonable clients
|
|
|
|
Make archiving delivered mail a REAL option (queue manager). What
|
|
about one archive per day. The magic could be put into the mail
|
|
queue name routines. Just make it aware of the date.
|
|
|
|
Will the mail system be faster when we avoid moving new messages
|
|
incoming->active? How would one detect the arrival of new files?
|
|
|
|
pickup: pass file descriptor to cleanup instead of copying data.
|
|
This violates the principle that all front-end programs protect
|
|
the mail system against unreasonably-long inputs.
|
|
|
|
True ETRN means kick the host out of the queue manager's "dead
|
|
hosts" table & move mail from the "hold" queue for that site to
|
|
the incoming queue.
|
|
|
|
postfix-script: make sure that each queue file matches its file id
|
|
or we might lose mail.
|
|
|
|
postfix-script: do database fixups as the unprivileged user
|
|
|
|
Maintain a pool of pre-allocated queue files, to eliminate file
|
|
creation and deletion overhead.
|