History: Email bounce handling
Source of version: 8 (current)
Copy to clipboard
! {{page}} New in ((Tiki25)). Leveraging [https://packagist.org/packages/rambomst/php-bounce-handler|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. {img attId=179 width="800" align="center" desc="click to enlarge" title="System tracker configuration"} ^Create a tracker with these fields before^ {img attId=181 width="800" align="center" desc="click to enlarge" title="Fields require for bounce system tracker"} !!!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__ {img attId=180 width="800" align="center" desc="click to enlarge" title="Bounce filter configuration"} !!!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)