PHP class to help webmasters handle bounce-back, feedback loop and ARF mails in standard DSN (Delivery Status Notification, RFC-1894).
PHP
Latest commit 90afe17 Dec 8, 2016 @crazy-max Add PHP 7.1
Permalink
Failed to load latest commit information.
lib/Cws/MailBounceHandler Small refactoring Dec 7, 2016
tests
.editorconfig Add .editorconfig and update README.md Aug 31, 2016
.gitignore
.styleci.yml
.travis.yml Add PHP 7.1 Dec 7, 2016
CHANGELOG.md
LICENSE
README.md Update README.md Dec 7, 2016
composer.json Update dependencies Nov 28, 2016
composer.lock Add travis and scrutinizer Aug 22, 2016
example.png Update example.png Dec 7, 2016

README.md

Latest Stable Version Minimum PHP Version Build Status Code Quality StyleCI Gemnasium

CwsMailBounceHandler

PHP class to help webmasters handle bounce-back, feedback loop and ARF mails in standard DSN (Delivery Status Notification, RFC-1894). It checks your IMAP inbox or eml files and delete or move all bounced emails. If a bounce is malformed, it tries to extract some useful information to parse status.

Requirements

  • PHP >= 5.3.2
  • Enable the php_imap extension if you want to use the IMAP open mode.

Installation with Composer

composer require crazy-max/cws-mail-bounce-handler

And download the code:

composer install # or update

Getting started

See tests/test.php file sample to help you.
You can use the eml files in the tests/emls folder for testing.

Post-process

A result object Cws\MailBounceHandler\Models\Result is available to process custom post-actions :

Methods

openImapLocal - Open a IMAP mail box in local file system.
openImapRemote - Open a remote IMAP mail box.
openEmlFolder - Open a folder containing eml files on your system.

processMails - Process the messages in a mailbox or a folder.

getStatusCodeExplanations -Get explanations from DSN status code via the RFC 1893.

isMailboxOpenMode - Check if open mode is mailbox.
isFileOpenMode - Check if open mode is file.
isNeutralProcessMode - Check if process mode is neutral mode.
isMoveProcessMode - Check if process mode is move mode.
isDeleteProcessMode - Check if process mode is delete mode.
getProcessMode - The method to process bounces.
setNeutralProcessMode - Set the method to process bounces to neutral. (default)
setMoveProcessMode - Set the method to process bounces to move.
setDeleteProcessMode - Set the method to process bounces to delete.
setProcessMode - Set the method to process bounces.
getMailboxService - Mailbox service.
setImapMailboxService - Set the mailbox service to IMAP. (default)
setMailboxService - Set the mailbox service.
getMailboxHost - Mailbox host server.
setMailboxHost - Set the mailbox host server. (default localhost)
getMailboxUsername - The username of mailbox.
setMailboxUsername - Set the username of mailbox.
setMailboxPassword - Set the password needed to access mailbox.
getMailboxPort - The mailbox server port number.
setMailboxPortPop3 - Set the mailbox server port number to POP3 (110).
setMailboxPortPop3TlsSsl - Set the mailbox server port number to POP3 TLS/SSL (995).
setMailboxPortImap - Set the mailbox server port number to IMAP (143). (default)
setMailboxPortImapTlsSsl - Set the mailbox server port number to IMAP TLS/SSL (995).
setMailboxPort - Set the mailbox server port number.
getMailboxSecurity - The mailbox security option.
setMailboxSecurity - Set the mailbox security option. (default const MAILBOX_SECURITY_NOTLS)
getMailboxCert - Certificate validation.
setMailboxCertValidate - Set the certificate validation to VALIDATE.
setMailboxCertNoValidate - Set the certificate validation to NOVALIDATE. (default)
setMailboxCert - Set the certificate validation.
getMailboxName - Mailbox name.
setMailboxName - Set the mailbox name, other choices are (Tasks, Spam, Replies, etc...). (default INBOX)
getMailboxHandler - The resource handler for the opened mailbox (POP3/IMAP/NNTP/etc...).
getMaxMessages - Maximum limit messages processed in one batch.
setMaxMessages - Set the maximum limit messages processed in one batch (0 for unlimited).
isPurge - Check if purge unknown messages.
setPurge - Set the mailbox server port number.
getError - The last error message.

License

LGPL. See LICENSE for more details.

More infos

http://www.crazyws.fr/dev/classes-php/classe-de-gestion-des-bounces-en-php-C72TG.html