Index: openacs-4/packages/acs-mail-lite/www/doc/index.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-mail-lite/www/doc/Attic/index.html,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-mail-lite/www/doc/index.html 16 Feb 2004 15:55:41 -0000 1.1 @@ -0,0 +1,74 @@ +<html +<head><title>User Documentation for ACS Mail Lite</title></head> +<body> +<h2>User Documentation for ACS Mail Lite</h2> + +Acs Mail Lite handles sending of email via sendmail or smtp +and includes a bounce management system for invalid email +accounts. +<p> +When called to send a mail, the mail will either get sent immediately +or placed in an outgoing queue (changeable via parameter) which +will be processed every few minutes. +<p> +ACS Mail Lite uses either sendmail (you have to provide the +location of the binary as a parameter) or SMTP to send the mail. +If the sending fails, the mail will be placed in the outgoing queue +again and be given another try a few minutes later when processing +the queue again. +<p> +Each email contains an X-Envelope-From adress constructed as +follows:<br> +The adress starts with "bounce" (can be changed by a parameter) +followed by the user_id, a hashkey and the package_id of the +package instance that sent the email, separated by "-". The +domain name of this adress can be changed with a parameter. +<p> +The system checks every 2 minutes (configurable) in a certain +maildirectory (configurable) for newly bounced emails, so the +mailsystem will have to place every mail to an address beginning +with "bounce" (or whatever the appropriate parameter says) in that +directory. The system then processes each of the bounced emails, +strips out the message_id and verifies the hashkey in the bounce-address. +After that the package-key of the package sending the original mail +is found out by using the package_id provided in the bounce +adress. With that, the system then tries to invoke a callback +procedure via a service contract if one is registered for that +particular package-key. This enables each package to deal with +bouncing mails on their own - probably logging this in special tables. +ACS Mail Lite then logs the event of a bounced mail of that +user. +<p> +Every day a procedure is run that checks if an email account +has to be disabled from receiving any more mail. This is done +the following way: +<ul> +<li>If a user received his last mail X days ago without any further +bounced mail then his bounce-record gets deleted since it can +be assumed that his email account is working again and no longer +refusing emails. This value can be changed with the parameter +"MaxDaysToBounce".</li> +<li>If more then Y emails were returned by a particular user then +his email account gets disabled from receiving any more mails +from the system by setting the email_bouncing_p flag to t. This +value can be changed with the parameter "MaxBounceCount".</li> +<li>To notify users that they will not receive any more mails and to +tell them how to reenable the email account in the system again, +a notification email gets sent every 7 days (configurable) +up to 4 times (configurable) that contains a link to reenable +the email account.</li> +</ul> +To use this system here is a quick guide how to do it with postfix. +<ul> +<li>Edit /etc/postfix/main.cf +<ul> +<li>Set "recipient_delimiter" to " - " +<li>Set "home_mailbox" to "Maildir/" +<li>Make sure that /etc/postfix/aliases is hashed for the alias database +</ul> +<li>Edit /etc/postfix/aliases. Redirect all mail to "bounce" (if you leave the parameter as it was) to "nsadmin" (in case you only run one server). +</ul> +In case of multiple services on one system, create a bounce email for each of them (e.g. changeing "bounce" to "bounce_service1") and create a new user that runs the aolserver process for each of them. You do not want to have service1 deal with bounces for service2. + +</body> +</html>