使用 Laravel 管理新闻通讯 - 功能强大的邮件订阅工具

使用 Laravel 管理新闻通讯 - 功能强大的邮件订阅工具

项目地址:https://gitcode.com/spatie/laravel-newsletter

在 Laravel 中轻松管理你的邮件列表

最新版本 MIT 许可证 GitHub 工作流程状态 代码风格检查与修复 总下载量

这个 Laravel 包提供了一种简单的方法,让你能方便地整合到各种邮件服务的电子邮件订阅列表中。

目前支持的服务包括:

支持我们

我们在创建一流的开源软件包上投入了大量的资源。你可以通过购买我们的付费产品来支持我们。

我们非常感谢你从你的家乡寄给我们一张明信片,告诉我们你正在使用我们哪款包。你可以在我们的联系方式页面找到我们的地址(spatie.be/about-us)。所有收到的明信片都将展示在我们的虚拟明信片墙上(spatie.be/open-source/postcards)。

安装

可以通过 Composer 来安装这个包:

composer require spatie/laravel-newsletter

为了发布配置文件到 config/newsletter.php ,运行:

php artisan vendor:publish --tag="newsletter-config"

这将发布一个名为 newsletter.php 的配置文件到你的配置目录。

使用 Mailcoach

要让这个包与 Mailcoach 配合工作,你需要安装 Mailcoach SDK。

composer require spatie/mailcoach-sdk-php

然后,在配置文件中提供 API 密钥、终点等参数。在 Mailcoach 设置界面中可以找到这些值。对于 list.subscribers.id ,它应该是邮件列表的 UUID,你可以在 Mailcoach 的邮件列表设置屏幕中找到。

使用 MailChimp

若要使用 MailChimp,请安装以下额外的包:

composer require drewm/mailchimp-api

newsletter 配置文件的 driver 键应设置为 Spatie\Newsletter\Drivers\MailChimpDriver::class

接下来,你需要在配置文件中提供 API 密钥和 list.subscribers.id 的值。这些值可在 MailChimp 用户界面中找到。

endpoint 配置值应设置为 null。

如何使用

安装了该包并填写了配置文件中的值后,使用起来就非常简单了。以下示例都使用了门面,别忘了在文件顶部导入。

use Spatie\Newsletter\Facades\Newsletter;

订阅、更新和退订

订阅邮箱就像这样:

Newsletter::subscribe('rincewind@discworld.com');

要退订某人:

Newsletter::unsubscribe('the.luggage@discworld.com');

对于 Mailcoach,可以作为第二个参数传递额外属性:

Newsletter::subscribe('rincewind@discworld.com', ['first_name' => 'Rince', 'last_name' => 'Wind']);

对于 MailChimp,可以作为第二个参数传递合并变量:

Newsletter::subscribe('rincewind@discworld.com', ['FNAME'=>'Rince', 'LNAME'=>'Wind']);

你可以通过指定列表名将某人订阅到特定列表:

Newsletter::subscribe('rincewind@discworld.com', listName: 'subscribers');

第三个参数是你在配置文件中配置的列表名称。

也可以同时订阅或更新某人。如果他们已经订阅,那么他们会订阅或更新:

Newsletter::subscribeOrUpdate('rincewind@discworld.com', ['first_name' => 'Rince', 'last_name' => 'Wind']);

对于 MailChimp,你可以通过第四个参数将某人订阅到一个或多个特定的组/兴趣:

Newsletter::subscribeOrUpdate(
   'rincewind@dscworld.com', 
   ['FNAME'=>'Rince','LNAME'=>'Wind'], 
   'subscribers', 
   ['interests'=>['interestId'=>true, 'interestId'=>true]],
);

如果你想从组/兴趣中移除某人,只需添加 false

要从特定列表中退订,这样做:

Newsletter::unsubscribe('rincewind@discworld.com', 'subscribers');

删除订阅者

删除不同于退订。与退订不同的是,删除会员会导致所有历史记录(添加/同意/修改)丢失,并将其从列表中删除。大多数情况下,你应该使用 unsubscribe 而不是 delete

执行删除操作如下:

Newsletter::delete('rincewind@discworld.com');

获取订阅者信息

使用 getMember 函数获取订阅者的信息:

Newsletter::getMember('lord.vetinari@discworld.com');

对于 MailCoach,这会返回一个 Spatie\Mailcoach\Resources|Subscriber 实例。 对于 MailChimp,这会返回一个包含订阅者信息的数组。

如果没有用该电子邮件地址订阅的人,函数将返回 false

还有一个便利方法用于检查某人是否已订阅:

Newsletter::hasMember('nanny.ogg@discworld.com'); //返回布尔值

此外,还可以检查用户是否订阅了你的列表:

Newsletter::isSubscribed('lord.vetinari@discworld.com'); //返回布尔值

更多功能

如果你需要更多功能,可以通过 getApi() 函数获取底层 API 的实例:

$api = Newsletter::getApi();

如果你在集成 MailChimp 时遇到问题,可以查看最后的错误:

Newsletter::getApi()->getLastError();

测试

运行测试:

vendor/bin/pest

变更日志

请参见 CHANGELOG,了解最近发生了什么变化。

贡献

详细贡献指南,请参见 CONTRIBUTING

安全

如果您发现任何安全相关的问题,请发送电子邮件至 security@spatie.be,而不是使用问题追踪器。

许可证

该软件采用 MIT 授权。详情请参阅 LICENSE 文件


借助这款 Laravel 开源包,管理和扩展你的邮件订阅变得无比便捷。立即加入,体验高效且灵活的邮件服务管理!

项目地址:https://gitcode.com/spatie/laravel-newsletter

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gitblog_00007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值