For OpenACS to process incoming Emails you need to follow these steps:
Furthermore take a look at this OpenACS Forums message.
Assumptions:
hostname: mail.service0.com (note, it is mandatory that the hostname is the hostname of the server and does not equal an MX record). oacs user: service0 linux user: service0 home dir: /home/service0 users mail dir: /home/service0/mail website: www.service0.com
myhostname=mail.service0.com myorigin=$myhostname inet_interfaces=$myhostname, localhost mynetworks_style=host virtual_alias_domains = www.service0.com virtual_maps=hash:/etc/postfix/virtual home_mailbox=mail/
-
Install postfix (e.g. by getting RPM for RHEL4
- Install smtp (for postfix)
- Install metamail (for acs-mail-lite)
- Edit /etc/postfix/main.cf
-
Edit /etc/postfix/virtual and add the regular expressions to catchall incoming emails.
-
Edit /etc/postfix/master.cf - uncomment this line so that postfix is able to process incoming emails
-
Create a mail directory as service0
-
Configure Notifications Parameters
EmailDomain: www.service0.com
EmailQmailQueue: /home/service0/mail
EmailReplyAddressPrefix: notification
EmailQmailQueueScanP: 1 -
Configure Mail Services Lite Parameters
BounceDomain: www.service0.com
BounceMailDir: /home/service0/mail
EnvelopePrefix: bounce
- Configure other packages likewise
-
Call postmap to recompile virtual db:
-
Restart Postfix
-
Restart OpenACS
Note: if both acs-mail-lite and notifications
are checking for incoming mails the rule "First comes first serves" applies. In future only acs-mail-lite should sweep and delete processed messages. - if you send a test mail to notification-191931-2960@mail.cognovis.de notifications should recognize it and handle it.
A sweeper procedure like acs-mail-lite::load_mails should scan the e-mails which are in the Maildir directory on a regular basis and process them (using a parsing procedure). Then it should fire off callbacks. But before it parses the e-mails, it should check if the e-mail came from an auto mailer. Vinod has done this using procmail as follows below, maybe we could get this dragged into TCL code (using regexp or a procmail recipe parser) instead, removing the need for setting up procmail in the first place.
:0 w
