Okay a few of my ideas.
I'd really like to make the mail functions into
OpenACS and not rely on ns_sendmail. If we want to
add some of the features we should have we need to have a
bit more control over how we send mail.
I'm open to suggestion. If we can reach a reasonable agreement I'll start coding what we decieded on.OpenACS has a few issues with the way that mail is
delivered from the system. In the next few
version of OpenACS changes should be made in the
way creates, delivers and handles mail.
The following should be goals of the OpenACS replacement:
o Allow of the Generation of Message-ID (either from
and outside MTA or generating them in OpenACS)
o Handling for bounces for all message delivered
from and OpenACS server.
o Become MTA independant and remove less dependant
on ns_sendmail (repalcing its functionaly with
OpenACS code in an OpenACS package).
o Development of RFC complaint headers for specific
purpose (mailing list type features, Message-IDs,
reply-to, etc).
Tilmann Singer has started development of a
acs-mail-lite replacement which will work nicely
with the above goals. I see no reason to duplicate
the this effort and suggest using this as a base
for going forward.
The first step that should be taken is the development
bounce handling.
Bounce handling should be handled the following way:
o The envelope (MAIL FROM: <address>> addresss should
be set to bounce-<to address>@domain. This will
allow bounces to be sent back to an email handler
on the OpenACS server.
o The MTA on the OpenACS server will need to be able
to make use of extention address
(mailto:address-extention@domain.com)
Qmail, Courier, Sendmail, Postfix, and Exim are all
able to handle this. The handling of bounces will
use a simular configuration to TMDA
(http://tmda.net/config-pre.html)
o Bounces will come into the server, be parsed and
that information stored in a bounce table which
will include the email address, message id, and
date of bounce. We will have an admin page that
will allow user to see they bounces (if any) and
adminstrators to view all bounces and disable
mail to specific accounts that chronic bounces.
o OpenACS will record the date time of the last
message sent to each user.
o A configurable paramater will be set to allow the server
to stop deliver of mail after a set period of days
(recommand value 12 days). If multiple bounces are
recorded for a user that period of time a nightly
process will send a final message to that use indicating
that they are about to have their email address disable
on the OpenACS server because of bounces. If that message
also bounces mail will be disable. If it does not bounce
after 24 then we will not disable the email and clear
all bounces for that email.
This should allow for proper handling of any type of bounces
that can happen from email orginating from an OpenACS
server and allow from further expansions into larger mail
situations (ei: mailing list, larger newsletters, etc.).
We should be able to get this into OpenACS 4.7 as it
will require changes to package creating mail and I don't
think it would be correct to impose those changes in a
4.6.2 release.
After the proper handling of bounces, becomding MTA
independant and not relying on ns_sendmail it woulb
be easy to include packages to allow forums to become
more like a mailing list manager and allow for
newsletter packages, etc.