hope-media/cws-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.15 2019-01-30 10:45 UTC

This package is auto-updated.

Last update: 2024-04-29 04:15:11 UTC


README

About

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.4
  • Enable the php_imap extension if you want to use the IMAP open mode.

Installation

composer require hope-media/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)
setPop3MailboxService - Set the mailbox service to POP3.
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.

How can i help ?

All kinds of contributions are welcomed!
The most basic way to show your support is to star the project, or to raise issues.

License

MIT. See LICENSE for more details.