7 registered users in last 24 hours
Troubleshooting email notifications
Make sure your system runs the latest version of packages 'acs-mail-lite'
In ]po[ V4.x some changes had been made in file /packages/acs-mail-lite/tcl/acs-mail-lite-procs.tcl & /packages/acs-mail/tcl/acs-mail-procs.tcl
(Some ]po[ features are still making use of the older acs-mail package)
Check ]po[ mail queue
Make sure that your MTA is up and running and accepts and sends email
On most linux based installations you'll find 'postfix' installed. To check if postfix is running run:
ps waux | grep postfix
Script the following sql command in order to check if your system is correctly configured to send out email.
(You want to replace the number 853 with your user_id)
select acs_mail_nt__post_request (
853, -- party_from
853, -- party_to
'f', -- expand_group
'Test Subject', -- subject
'Test Body', -- message
0 -- max_retries
);
The mail should remain in table 'acs_mail_queue_outgoing' until a Mail Sweeper passes it on to the MTA.
projop=# select * from acs_mail_queue_outgoing;
message_id | envelope_from | envelope_to
------------+---------------------------------+---------------------------------
562538 | ben.bigboss@project-open.com | ben.bigboss@project-open.com
(1 row)
If an email remains in the table for a long time without being sent, check your mail log for error messages.
On most linux systems the log file can be found at /var/log/maillog
Check mail scheduler
Its rather unlikely that email is not beeing send due to issues with the schedulers. However, find below additional information.
For sending emails ]po[ is using services provided by two separate packages:
- acs-mail-lite provides function acs_mail_lite::load_mails that is scheduled in /web/projop/packages/acs-mail-lite/tcl/acs-mail-lite-init.tcl
Please check if your log file /web/projop/log/error.log show entries such as 'Debug: Running scheduled proc acs_mail_lite::load_mails...'
- acs-mail provides function acs_mail_process_queue that is scheduled in /web/projop/packages/acs-mail/tcl/acs-mail-init.tcl
Please check if your log file /web/projop/log/error.log show entries such as 'Notice: acs_mail_process_queue: entering ...'
Check system mail queue
Run
mailq -v
If there are still mail messages pending, this command should show you why. For example, you might see something like "Deferred: Connection refused by <some SMTP server>"
[Tx to Terrance Crow]
Check your postfix configuration
Bounces due to an invalid sender domain:
Feb 21 14:03:11 localhost postfix/smtp[4669]: 9F8F3B80B1: host mx01.schlund.de[212.227.15.186] said: 421 invalid sender domain 'project-open-v34.localdomain' (misconfigured dns?) (in reply to RCPT TO command)
are fixed by setting the following parameters in your /etc/postfix/main.cf:
myhostname = your-company.com
mydomain = your-company.com
Check log file
Have a look at the log file (default location on most linux systems: /var/log/maillog)
Check local DNS server for MX Record
In case mail is only send out to "external" recipients, but not to local recipients, check the MX record of your local DNS server.
Check your resolv.conf
Check your DNS server entries in /etc/resolv.conf. Please check that the DNS servers are working. Be aware that mydns is not able to resolve external domains, so you will have to enter a DNS server that is capable of resolving external domains too.
[ref]
Check if your ISP requires valid bounce addresses
Some ISP (and everyday more) do exhaustive validation checks before accepting email. In some case providers check for a valid bounce address.
In OpenACS package acs-mail-lite builds random system email addresses to manage bounces instead of real addresses. Validation checks performed by ISP's would fail returning the following error message;
Feb 14 10:25:30 localhost postfix/local[14071]: CD99CB8078: to=, relay=local, delay=0.48, delays=0.34/0.08/0/0.06, dsn=5.1.1, status=bounced (unknown user: "bounce-31300-a61ed9ca5c39b63ddf28c3862041d042bd73450a-21457")
The easiest way to fix this, is patching /packages/acs-mail-lite/tcl/bounce-procs.tcl be so that "bounce_address" it simply return a valid email address.
#---------------------------------------
ad_proc -public bounce_address {
-user_id:required
-package_id:required
-message_id:required
} {
Composes a bounce address
@option user_id user_id of the mail recipient
@option package_id package_id of the mail sending package
(needed to call package-specific code to deal with bounces)
@option message_id message-id of the mail
@return bounce address
} {
return "info@your-company.com"
# return "[bounce_prefix]-$user_id-[ns_sha1 $message_id]-$package_id@[address_domain]"
}
(Thanks to Frank Diekhoff, Pentamino GmbH for pointing this out)
Only mails to local domains fail to be delivered
/var/log/maillog contains 550 error:
NOQUEUE: reject: RCPT from localhost.localdomain[127.0.0.1]: 550 5.1.1 xx@my-domain.com: Recipient address rejected: User unknown in local recipient table; from=info@my-domain.com to=xx> proto=ESMTP helo=localhost /localhost/xxinfo@my-domain.com xx@my-domain.com
To turn off unknown local recipient rejects by the SMTP server, consider specifying in /etc/postfix/main.cf:
local_recipient_maps =
This setting is not recommended if your ]po[ server accepts incoming emails. For additional information pls. refer to the postfix documentation
|