该软件包提供了一种将订阅集成到各种电子邮件服务的电子邮件列表的简单方法。
目前该包支持:
Mailcoach(由我们建造:-))
邮件黑猩猩
我们投入了大量资源来创建一流的开源包。您可以通过购买我们的一款付费产品来支持我们。
我们非常感谢您从家乡寄给我们一张明信片,并注明您正在使用我们的哪种套餐。您可以在我们的联系页面上找到我们的地址。我们在虚拟明信片墙上发布所有收到的明信片。
您可以使用以下命令通过 Composer 安装此软件包:
作曲家需要 spatie/laravel-newsletter
要将配置文件发布到config/newsletter.php
,请运行:
php artisan 供应商:发布 --tag="newsletter-config"
这将在您的配置目录中发布一个文件newsletter.php
,其中包含以下内容:
return [/* * 用于与 MailChimp API 交互的驱动程序。 * 您可以使用“log”或“null”来防止直接从您的环境调用 API。 */'driver' => env('NEWSLETTER_DRIVER', SpatieNewsletterDriversMailcoachDriver::class),/** * 这些参数将提供给驱动程序。 */'driver_arguments' => ['api_key' => env('NEWSLETTER_API_KEY'),'endpoint' => env('NEWSLETTER_ENDPOINT'), ],/* * 当方法中未指定列表名称时要使用的列表名称。 */'default_list_name' => 'subscribers','lists' => [/* * 该键用于标识此列表。它可以用作 * 作为各种方法中提供的 listName 参数。 * * 您可以将其设置为您想要的任何字符串,并且您可以添加 * 任意数量的列表。 */'subscribers' => [/* * 使用 Mailcoach 驱动程序时,这应该是 Mailcoach UI 中显示的电子邮件列表 UUID * * 使用 MailChimp 驱动程序时,这应该是 MailChimp 列表 ID。 * http://kb.mailchimp.com/lists/managing-subscribers/find-your-list-id。 */'id' => env('NEWSLETTER_LIST_ID'), ], ], ];
要让该软件包与 Mailcoach 一起使用,您需要安装 Mailcoach SDK。
作曲家需要 spatie/mailcoach-sdk-php
接下来,您必须在配置文件中提供 API 密钥、端点和list.subscribers.id
的值。您将在 Mailcoach 设置屏幕中找到 API 密钥和端点。 list.subscribers.id
的值必须是 Mailcoach 上电子邮件列表的 UUID。您可以在电子邮件列表的设置屏幕上找到该值
要使用 MailChimp,请安装此额外软件包。
作曲家需要 Drawm/mailchimp-api
newsletter
配置文件的driver
密钥必须设置为SpatieNewsletterDriversMailChimpDriver::class
。
接下来,您必须提供 API 密钥和list.subscribers.id
的值。您将在 MailChimp UI 中找到这些值。
endpoint
配置值必须设置为 null。
安装该软件包并在配置文件中填写值后,使用该软件包将变得轻而易举。以下所有示例都使用门面。不要忘记将其导入到文件的顶部。
使用 SpatieNewsletterFacadesNewsletter;
订阅电子邮件地址可以这样完成:
使用时事通讯; 时事通讯::订阅('[email protected]');
让我们取消订阅某人:
时事通讯::取消订阅('[email protected]');
对于 Mailcoach,您可以传递额外的属性作为第二个参数:
时事通讯::订阅('[email protected]', ['first_name' => 'Rince', 'last_name' => 'Wind']);
对于 MailChimp,您可以传递合并变量作为第二个参数:
时事通讯::订阅('[email protected]', ['FNAME'=>'Rince', 'LNAME'=>'Wind']);
您可以通过传递列表名称来订阅某人到特定列表:
时事通讯::订阅('[email protected]', listName: '订阅者');
第三个参数是您在配置文件中配置的列表的名称。
您还可以订阅和/或更新某人。该人将被订阅或更新(如果他/她已经订阅):
时事通讯::subscribeOrUpdate('[email protected]', ['first_name' => 'Rince', 'last_name' => 'Wind']);
对于 MailChimp,您可以使用第四个参数为某人订阅一个或多个特定组/兴趣:
时事通讯::subscribeOrUpdate( '[email protected]', ['FNAME'=>'林斯','LNAME'=>'风'], '订阅者', ['兴趣'=>['interestId'=>true, 'interestId'=>true]], );
如果您想从群组/兴趣中删除某人,只需添加false
即可。
以下是从特定列表中取消订阅某人的方法:
时事通讯::取消订阅('[email protected]', '订阅者');
删除与取消订阅不同。与取消订阅不同,删除成员将导致所有历史记录(添加/选择加入/编辑)丢失,并将其从列表中删除。在大多数情况下,您希望使用unsubscribe
而不是delete
。
以下是执行删除的方法:
时事通讯::delete('[email protected]');
您可以使用getMember
函数获取订阅者的信息:
时事通讯::getMember('[email protected]');
对于 MailCoach,这将返回SpatieMailcoachResources|Subscriber
的实例。 对于 MailChimp,这将返回一个包含订阅者信息的数组。
如果没有人使用该电子邮件地址订阅该函数将返回false
还有一个方便的方法来检查某人是否已经订阅:
时事通讯::hasMember('[email protected]'); //返回一个布尔值
除此之外,您还可以检查用户是否订阅了您的列表:
时事通讯::isSubscribed('[email protected]'); //返回一个布尔值
如果您需要更多功能,您可以使用以下命令获取底层 API 的实例
$api = 时事通讯::getApi();
如果您在获取 MailChimp 集成时遇到问题,您可以通过以下方式查看最后一个错误:
时事通讯::getApi()->getLastError();
使用以下命令运行测试:
供应商/垃圾箱/害虫
请参阅变更日志以了解有关最近更改内容的更多信息。
详细信息请参阅贡献。
如果您发现任何与安全相关的问题,请发送电子邮件至 [email protected],而不是使用问题跟踪器。
弗里克·范德赫滕
所有贡献者都致力于分配劳动力进行维护和新的精彩内容。
麻省理工学院许可证 (MIT)。请参阅许可证文件以获取更多信息。