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.
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.
Create a tracker with these fields before
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)