seracid / php-mail-bounce-handler
PHP class to help webmasters handle bounce-back, feedback loop and ARF mails in standard DSN (Delivery Status Notification, RFC-1894).
Requires
- php: >=5.4
- crazy-max/cws-debug: ~1.10
This package is not auto-updated.
Last update: 2025-04-13 07:35:43 UTC
README
PhpMailBounceHandler
The original project for this handler was: 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 deletes or moves all bounced emails. If a bounce is malformed, it tries to extract some useful information to parse status.
Requirements
- PHP >= 5.4
- Enable the php_imap extension if you want to use the IMAP open mode.
Installation with Composer
composer require seracid/php-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 SGT\MailBounceHandler\Models\Result
is available to process custom post-actions.
Methods
ImapHandler
openLocal - Open a IMAP mail box in local file system.
openRemote - Open a remote IMAP mail box.
processMails - Process the messages in a mailbox or a folder.
processMailMove - Request mail message to be moved.
processMailDelete - Request mail message be deleted.
isImapMailboxExists - Confirms a mailbox exists (and optionally create it).
closeMailbox - Closes IMAP connection in use and logs it.
EmlFileHandler
openEmlFolder - Open a folder containing eml files on your system.
processMails - Process the messages in a mailbox or a folder.
processMailMove - Request mail message to be moved.
processMailDelete - Request mail message be deleted.
Handler
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.