Email bounce handling
New in Tiki25. Leveraging rambomst/php-bounce-handler and Email filters, handle email bounces in Tiki: add system tracker to hold bounce information, add bounce handler lib, add sieve filters to check for bounces and add to bounce list in system trackers.
Initial commit: https://gitlab.com/tikiwiki/tiki/-/merge_requests/1879
What is bounce
A bounced email, or bounce, is an email message that gets rejected by a mail server. When an email bounces, it has for some reason not reached the intended destination.
A bounced email can be either a hard bounce or a soft bounce. A hard bounce means that the email address is permanently unavailable and should not receive electronic mail. A soft bounce is temporary, and may be caused by server outages or a full inbox. Most email service providers will designate soft bounces as a hard bounce after three failed sends.
How to configure
Step 1: Configure system tracker holding bounce information
Go to System-Trackers, access it from /tiki-admin.php?page=trackers and check Email bounces tracker then:
- Choose which tracker will store the bounced emails and statistics.
- Choose an email field that stores the email address that bounced.
- Choose an email folder field that stores the bounced messages read by Tiki.
- Choose a numeric field that stores the total number of soft bounces occured for an email address.
- Choose a numeric field that stores the total number of hard bounces occured for an email address.
- Choose a checkbox field that stores the blacklist state for an email address - whether Tiki should skip sending emails to that email address or not.
Step 2: Configure the filter
Go to Webmail, Click on filters in settings section then click on add filter and set other details of filter: name, priority and test. In the conditions & actions section, Add is bounce as a condition and select type of condition soft, is not soft, hard, not hard. Then click on add action and pick add to bounce list
Step 3: Set up cron job
Finally add php console.php sieve:filters command to Tiki Scheduler or a cron job
When these are configured and condition is met (using https://github.com/rambomst/PHP-Bounce-Handler/) item is created/updated in the bounce tracker, updating soft/hard bounce counts, the email added to the tracker email field (if configured)