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).

1.20 2017-09-12 13:57 UTC

This package is not auto-updated.

Last update: 2024-05-12 02:27:22 UTC


README

Latest Stable Version Minimum PHP Version Codacy Badge StyleCI Gemnasium

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.