kristiani / email-roundtrip-monitor
E-mail Roundtrip monitor package
Requires
- php: >=5.4.0
- ddeboer/imap: 0.5.*
Requires (Dev)
- phpunit/phpunit: dev-master
This package is not auto-updated.
Last update: 2024-11-09 21:01:37 UTC
README
Simple PHP email round trip monitoring tool.
Has IMAP support for validating that e-mails are received.
The test e-mails should be sent through the e-mail method that is usual used in your project (passed as a callback function).
Installation
composer require kristiani/email-roundtrip-monitor
Usage
You would like your set-up to consist of two cron jobs
-
The cron that sends a test e-mail. The cron can be run e.g. every 15 minutes.
-
The cron that checks the test e-mail is received within an tolerated interval. The cron can be run e.g. every 5 minutes. It's convenient to let a 3rd party service (e.g. uptimerobot.com) pull this check instead of a local cron.
Sending cron
\Roundtripmonitor\Config::$receiverEmail = 'testmailbox@receiver.com'; \Roundtripmonitor\Send::email(function($toName, $toEmail, $fromName, $fromEmail, $subject, $body) { yourEmailFunction($toName, $toEmail, $fromName, $fromEmail, $subject, $body); });
Receiving cron
If you would like your receiving cron to return status code 500 on failure:
\Roundtripmonitor\Config::server('imap.host.com', 143, 'imapUsername', 'imapPassword', 'INBOX'); \Roundtripmonitor\Confirm::emailOrFail();
If you prefer to handle your exceptions by yourself:
try { \Roundtripmonitor\Config::server('imap.host.com', 143, 'imapUsername', 'imapPassword', 'INBOX'); \Roundtripmonitor\Confirm::email(); } catch (\Exception $ex) { // do something about it }
Change settings
You can change all settings in Config.php individually, e.g.
\Roundtripmonitor\Config::$alertThresholdTime = 900;