eventhomes/laravel-mandrillhooks 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

eventhomes/laravel-mandrillhooks

Composer 安装命令:

composer require eventhomes/laravel-mandrillhooks

包简介

A simple Mandrill webhook controller to help with events. Compatible with Laravel 5+ and Lumen 5+.

README 文档

README

Latest Version Software License Total Downloads

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

Installation

composer require eventhomes/laravel-mandrillhooks

Basic Usage

  1. Create a controller that extends MandrillWebhookController as follows. You can then handle any Mandrillapp webhook event.
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'];
    }
}
  1. Create the route to handle the webhook. In your routes.php file add the following.
post('mandrill-webhook', ['as' => 'mandrill.webhook', 'uses' => 'MandrillController@handleWebHook']);
  1. Exclude your route from CSRF protection so it will not fail.

  2. Make sure you add your webhook in Mandrill to point to your route. You can do this here: https://mandrillapp.com/settings/webhooks

(Optional) Webhook Authentication

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.

Webhook Events

Webhook event types:

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

Contributors

Special thanks to @rafaelbeckel and @minioak!

统计信息

  • 总下载量: 75.51k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 63
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 63
  • Watchers: 5
  • Forks: 12
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-07-22

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固