Mailchimp 软件包未将电子邮件地址添加到列表中
Posted
技术标签:
【中文标题】Mailchimp 软件包未将电子邮件地址添加到列表中【英文标题】:Mailchimp package not adding email address to list 【发布时间】:2018-01-06 03:00:16 【问题描述】:我正在为我的时事通讯使用以下 laravel 包:
laravel-newsletter.
我的newsletterController.php
中有以下代码:
public function index()
Newsletter::subscribe('rincewind@discworld.com', ['FNAME'=>'Goti', 'LNAME'=>'Loki'], 'test');
return 'Ola !';
现在,当我转到:/newsletter
在我的应用程序中,我看到 Ola !
,但是当我打开我的 mailchimp 仪表板时,我看到没有看到 rincewind@discworld.com
添加到列表 test
的电子邮件列表中。
我也试过mailchimp包的如下方法:
return Newsletter::isSubscribed('codedevakagautam@gmail.com');
此电子邮件地址已存在于列表test
中,我收到以下错误:
Call to undefined method Spatie\Newsletter\Newsletter::isSubscribed()
我做错了什么?有人可以指导我吗?
【问题讨论】:
Mailchimp 默认情况下需要确认选择加入。您是否检查过是否收到了来自 mailchimp 的电子邮件(甚至可能在您的垃圾邮件目录中)。如果是这种情况,请查看他们的 api 文档,因为您可以禁用它。或者需要更多信息,你最好的选择是在不同的点调试包,看看它在哪里失败。我怀疑它是包中的一个错误,但是因为它是一个非常广泛使用的错误。 @Rick 感谢您的见解 :) 文档但没有按要求提及任何选择 - ins kb.mailchimp.com/integrations/api-integrations/about-api-keys,我没有收到电子邮件。我会尝试调试,不知道你所说的 opt ins 到底是什么意思 看起来它在上次 api 更新中发生了变化。 developer.mailchimp.com/documentation/mailchimp/reference/lists/… - 您需要设置 ip_opt 和 timestamp_opt 值,然后将状态设置为已订阅。搜索“在 mailchimp 中的双重选择”,因为之前在 SO 上已多次提及。 我认为您还没有完成订阅 rincewind@discworld.com 瑞克感谢您的提醒!! 【参考方案1】:请验证您是否在 config/app.php 中向提供程序数组添加了一个条目
// config/app.php
'providers' => [
...
Spatie\Newsletter\NewsletterServiceProvider::class,
...
];
在同一个文件的别名数组中
// config/app.php
'aliases' => [
..
'Newsletter' => Spatie\Newsletter\NewsletterFacade::class,
];
另外,您需要在控制器上导入包。通过这样做:
use Newsletter;
一定要以这种方式导入。
如果你完成了上述所有步骤,现在你可以尝试使用该方法:
return Newsletter::isSubscribed('codedevakagautam@gmail.com');
要为用户订阅列表,您需要发送一个“状态”参数。 该字段的可能值为:
已订阅 退订 已清理 待定在此处查看文档: http://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/
如果这不适合你,你可以看看这个包: https://github.com/drewm/mailchimp-api
【讨论】:
以上是关于Mailchimp 软件包未将电子邮件地址添加到列表中的主要内容,如果未能解决你的问题,请参考以下文章
Mailchimp API (v1.3):使用 listSubscribe() 添加的地址不会出现在仪表板中