該軟體包提供了一種將訂閱整合到各種電子郵件服務的電子郵件清單的簡單方法。
目前該包支援:
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
的實例。
如果沒有人使用該電子郵件地址訂閱函數將會傳回false
還有一個方便的方法來檢查某人是否已經訂閱:
電子報::hasMember('[email protected]'); //傳回一個布林值
除此之外,您還可以檢查用戶是否訂閱了您的清單:
通訊::isSubscribed('[email protected]'); //傳回一個布林值
如果您需要更多功能,您可以使用下列命令來取得底層 API 的實例
$api = 時事通訊::getApi();
如果您在取得 MailChimp 整合時遇到問題,您可以透過以下方式查看最後一個錯誤:
時事通訊::getApi()->getLastError();
使用以下命令執行測試:
供應商/垃圾箱/害蟲
請參閱變更日誌以了解有關最近更改內容的更多資訊。
詳細資訊請參閱貢獻。
如果您發現任何與安全相關的問題,請發送電子郵件至 [email protected],而不是使用問題追蹤器。
弗里克·范德赫滕
所有貢獻者都致力於分配勞動力進行維護和新的精彩內容。
麻省理工學院許可證 (MIT)。請參閱許可證文件以獲取更多資訊。