mbouclas / mcms-mailchimp
用于mcms的Mailchimp包
Requires
- php: ~5.5|~7.0
- drewm/mailchimp-api: 2.*
- illuminate/support: 5.*
Requires (Dev)
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
README
MCMS Mailchimp
此包提供了一种简单的方法来集成MailChimp和Laravel 5。幕后使用的是MailChimp API的v3版本。以下是一些使用此包可以做的示例:
Newsletter::subscribe('rincewind@discworld.com'); Newsletter::unsubscribe('the.luggage@discworld.com'); //Merge variables can be passed as the second argument Newsletter::subscribe('sam.vines@discworld.com', ['firstName'=>'Sam', 'lastName'=>'Vines']); //Subscribe someone to a specific list by using the third argument: Newsletter::subscribe('nanny.ogg@discworld.com', ['firstName'=>'Nanny', 'lastName'=>'Ogg'], 'Name of your list'); //Get some member info, returns an array described in the official docs Newsletter::getMember('lord.vetinari@discworld.com'); //Returns a boolean Newsletter::hasMember('greebo@discworld.com'); //If you want to do something else, you can get an instance of the underlying API: Newsletter::getApi();
安装
您可以通过Composer使用以下命令安装此包:
composer require mbouclas/mcms-mailchimp
您还必须安装此服务提供者。
// config/app.php 'providers' => [ ... Mcms\Mailchimp\McmsMailchimpServiceProvider::class, ... ];
要发布配置文件到app/config/mcmcMailchimp.php
,请运行:
php artisan vendor:publish --provider="Mcms\Mailchimp\McmsMailchimpServiceProvider"
这将发布一个名为mcmcMailchimp.php
的文件到您的配置目录,其中包含以下内容:
return [ /* * The api key of a MailChimp account. You can find yours here: * https://us10.admin.mailchimp.com/account/api-key-popup/ */ 'apiKey' => env('MAILCHIMP_APIKEY'), /* * When not specifying a listname in the various methods, * this list name will be used. */ 'defaultListName' => 'subscribers', /* * Here you can define properties of the lists you want to * send campaigns. */ 'lists' => [ /* * This key is used to identify this list. It can be used * in the various methods provided by this package. * * You can set it to any string you want and you can add * as many lists as you want. */ 'subscribers' => [ /* * A mail chimp list id. Check the mailchimp docs if you don't know * how to get this value: * http://kb.mailchimp.com/lists/managing-subscribers/find-your-list-id */ 'id' => env('MAILCHIMP_LIST_ID'), ], ], ];
使用方法
安装此包并填写配置文件中的值后,使用此包将变得非常简单。以下所有示例都使用外观。别忘了在文件顶部导入它。
use Newsletter;
订阅和退订
订阅一个电子邮件地址可以这样操作:
use Newsletter; Newsletter::subscribe('rincewind@discworld.com');
让我们退订某个人
Newsletter::unsubscribe('the.luggage@discworld.com');
您可以将一些合并变量作为第二个参数传递
Newsletter::subscribe('rincewind@discworld.com', ['firstName'=>'Rince', 'lastName'=>'Wind']);
请注意,在撰写本文时,MailChimp中的默认合并变量名称为FNAME
和LNAME
。在我们的示例中,我们使用firstName
和lastName
以提高可读性。
您可以通过使用第三个参数将某人订阅到特定的列表
Newsletter::subscribe('rincewind@discworld.com', ['firstName'=>'Rince', 'lastName'=>'Wind'], 'subscribers');
第三个参数是配置文件中配置的列表的名称。
您还可以从特定列表中退订某人
Newsletter::unsubscribe('rincewind@discworld.com', 'subscribers');
删除订阅者
注意:删除与退订不同。删除会丢失所有历史记录(添加/确认/编辑)以及从列表中删除它们。与退订不同,它们以后还可以再次添加。这仅用于列表维护。如果订阅者是“退出”,则应使用unsubscribe
而不是删除!
要从列表中永久删除订阅者的记录
Newsletter::delete('rincewind@discworld.com');
获取订阅者信息
您可以使用getMember
函数获取有关订阅者的信息
Newsletter::getMember('lord.vetinari@discworld.com');
这将返回一个包含有关订阅者信息的数组。如果没有订阅者使用该电子邮件地址,则函数将返回false
还有一个方便的方法来检查某人是否已经订阅
Newsletter::hasMember('nanny.ogg@discworld.com'); //returns a bool
创建活动
这就是创建活动的方式
/** * @param string $fromName * @param string $replyTo * @param string $subject * @param string $html * @param string $listName * @param array $options * @param array $contentOptions * * @return array|bool * * @throws \Mcms\Mailchimp\Exceptions\InvalidMailchimpList */ public function createCampaign($fromName, $replyTo, $subject, $html = '', $listName = '', $options = [], $contentOptions = [])
请注意,活动将仅被创建,不会发送邮件。
处理错误
如果出现问题,您可以使用以下方法获取最后一个错误:
Newsletter::getLastError();
如果您只想确保最后一个操作是否成功,可以使用
Newsletter::lastActionSucceeded(); //returns a bool
$api = Newsletter::getApi();
测试
使用以下命令运行测试:
vendor/bin/phpunit
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。