Package Data | |
---|---|
Maintainer Username: | lostincode |
Maintainer Contact: | roundedvision@gmail.com (Bill Richards) |
Package Create Date: | 2015-07-22 |
Package Last Update: | 2021-04-20 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-12-15 03:04:45 |
Package Statistics | |
---|---|
Total Downloads: | 73,904 |
Monthly Downloads: | 89 |
Daily Downloads: | 0 |
Total Stars: | 63 |
Total Watchers: | 6 |
Total Forks: | 11 |
Total Open Issues: | 0 |
A simple Mandrill webhook controller to help with email events. Useful for notifying users that you cannot reach them via email inside your application. Compatible with Laravel 5+ and Lumen 5+.
composer require eventhomes/laravel-mandrillhooks
use EventHomes\Api\Webhooks\MandrillWebhookController;
class MyController extends MandrillWebhookController {
/**
* Handle a hard bounced email
*
* @param $payload
*/
public function handleHardBounce($payload)
{
$email = $payload['msg']['email'];
}
/**
* Handle a rejected email
*
* @param $payload
*/
public function handleReject($payload)
{
$email = $payload['msg']['email'];
}
}
post('mandrill-webhook', ['as' => 'mandrill.webhook', 'uses' => 'MandrillController@handleWebHook']);
Exclude your route from CSRF protection so it will not fail.
Make sure you add your webhook in Mandrill to point to your route. You can do this here: https://mandrillapp.com/settings/webhooks
If you would like to increase the security of the webhooks. Add the MandrillWebhookServiceProvider provider to the providers array in config/app.php
'providers' => [
...
EventHomes\Api\Webhooks\MandrillWebhookServiceProvider::class,
],
Next, publish the configuration via
php artisan vendor:publish --provider="EventHomes\Api\Webhooks\MandrillWebhookServiceProvider"
Simply add your Mandrill webhook key in the config file and requests will be authenticated.
Event type | Method | Description ------------ |------------ |--------------- Sent | handleSend() | message has been sent successfully Bounced | handleHardBounce() | message has hard bounced Opened | hadleOpen() | recipient opened a message; will only occur when open tracking is enabled Marked As Spam | handleSpam() | recipient marked a message as spam Rejected | handleReject() | message was rejected Delayed | handleDeferral() | message has been sent, but the receiving server has indicated mail is being delivered too quickly and Mandrill should slow down sending temporarily Soft-Bounced | handleSoftBounce() | message has soft bounced Clicked | handleClick() | recipient clicked a link in a message; will only occur when click tracking is enabled Recipient Unsubscribes | handleUnsub() | recipient unsubscribes Rejection Blacklist Changes | handleBlacklist() | triggered when a Rejection Blacklist entry is added, changed, or removed Rejection Whitelist Changes | handleWhitelist() | triggered when a Rejection Whitelist entry is added or removed
Special thanks to @rafaelbeckel and @minioak!