2017-07-30 111 views
3

我使用以下laravel包我的時事通訊:Mailchimp包不添加電子郵件地址列表

laravel-newsletter

我在下面的代碼我newsletterController.php

public function index() { 
    Newsletter::subscribe('[email protected]', ['FNAME'=>'Goti', 'LNAME'=>'Loki'], 'test'); 
    return 'Ola !'; 
} 

現在,當我去:/newsletter在我的應用我看到Ola !,但是當我打開我的mailchimp儀表盤我看不明白[email protected]加入列表test的電子郵件列表。

我也嘗試了mailchimp包的下面的方法:

return Newsletter::isSubscribed('[email protected]'); 

該Email地址已存在於列表test,我收到以下錯誤:

Call to undefined method Spatie\Newsletter\Newsletter::isSubscribed() 

我在做什麼錯?有人可以指導我嗎?

+1

默認情況下,Mailchimp需要選擇確認。您是否檢查過您是否有來自mailchimp的電子郵件(甚至可能位於您的垃圾郵件目錄中)。如果是這種情況,請查看他們的api文檔,因爲您可以禁用它。 或者需要更多的信息,你最好的選擇就是通過包裝在不同的點進行調試,看看它失敗的地方。我懷疑它是一個包中的錯誤,但它是一個相當廣泛使用的。 – Sk446

+1

@Rick感謝您的洞察力:)文檔然而沒有提及任何選擇 - 插件http://kb.mailchimp.com/integrations/api-integrations/about-api-keys根據需要,我沒有收到電子郵件。我會嘗試調試,不確定你選擇的是什麼意思 –

+0

看起來它在最後的api更新中發生了變化。 http://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/ - 您需要設置ip_opt和timestamp_opt值,然後將狀態設置爲訂閱。搜索'mailchimp中的雙選項',因爲在SO之前已經提到過幾次。 – Sk446

回答

1

請確認是否已在同一文件

// config/app.php 
'aliases' => [ 
    .. 
    'Newsletter' => Spatie\Newsletter\NewsletterFacade::class, 
]; 

另外,你需要在你的config/app.php

// config/app.php 
'providers' => [ 
    ... 
    Spatie\Newsletter\NewsletterServiceProvider::class, 
    ... 
]; 

而在別名陣列添加到該供應商陣列中的條目在您的控制器上導入軟件包。在做:

use Newsletter; 

一定要導入這種方式。

如果你做了所有的上述步驟,現在你可以嘗試使用方法:

return Newsletter::isSubscribed('[email protected]'); 

,並訂閱用戶列表,你需要發送一個「狀態」參數。 此字段的可能值是:

  • 訂閱
  • 退訂
  • 清洗
  • 未決

在這裏看到的文檔: http://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/

如果這不起作用對於你,你可以看看這個包: https://github.com/drewm/mailchimp-api

相關問題