このパッケージは、さまざまな電子メール サービスの電子メール リストへのサブスクリプションを簡単に統合する方法を提供します。
現在、このパッケージは以下をサポートしています:
Mailcoach (私たちが構築しました :-))
メールチンパンジー
私たちはクラス最高のオープンソース パッケージの作成に多くのリソースを投資しています。有料製品のいずれかを購入することで、私たちをサポートできます。
当社のどのパッケージを使用しているかについて、故郷から葉書を送っていただき、誠にありがとうございます。当社の住所は、お問い合わせページに記載されています。受け取ったすべてのポストカードをバーチャル ポストカード ウォールに公開します。
次のコマンドを使用して、Composer 経由でこのパッケージをインストールできます。
作曲家には spatie/laravel-newsletter が必要です
構成ファイルをconfig/newsletter.php
に公開するには、次のコマンドを実行します。
php 職人ベンダー:publish --tag="ニュースレター構成"
これにより、次の内容を含むファイルnewsletter.php
が config ディレクトリに公開されます。
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
の値を指定する必要があります。 API キーとエンドポイントは Mailcoach 設定画面にあります。 list.subscribers.id
の値は、Mailcoach の電子メール リストの UUID である必要があります。この値は、メール リストの設定画面で確認できます。
MailChimp を使用するには、この追加パッケージをインストールします。
作曲家にはdrawm/mailchimp-apiが必要です
newsletter
構成ファイルのdriver
キーはSpatieNewsletterDriversMailChimpDriver::class
に設定する必要があります。
次に、API キーとlist.subscribers.id
の値を指定する必要があります。これらの値は MailChimp UI にあります。
endpoint
構成値は null に設定する必要があります。
パッケージをインストールし、構成ファイルに値を入力すると、このパッケージの操作は簡単になります。以下のすべての例ではファサードが使用されています。ファイルの先頭に忘れずにインポートしてください。
SpatieNewsletterFacadesNewsletter を使用します。
メールアドレスの購読は次のように行うことができます。
ニュースレターを使用する。 ニュースレター::subscribe('[email protected]');
誰かの購読を解除しましょう:
ニュースレター::unsubscribe('[email protected]');
Mailcoach の場合、2 番目の引数として追加の属性を渡すことができます。
ニュースレター::subscribe('[email protected]', ['first_name' => 'Rince', 'last_name' => 'Wind']);
MailChimp の場合、マージ変数を 2 番目の引数として渡すことができます。
ニュースレター::subscribe('[email protected]', ['FNAME'=>'Rince', 'LNAME'=>'Wind']);
リスト名を渡すことで、誰かを特定のリストに登録できます。
ニュースレター::subscribe('[email protected]', listName: '購読者');
3 番目の引数は、構成ファイルで構成したリストの名前です。
誰かを購読したり更新したりすることもできます。その人は、すでに購読している場合は購読または更新されます。
Newsletter::subscribeOrUpdate('[email protected]', ['first_name' => 'Rince', 'last_name' => 'Wind']);
MailChimp の場合、4 番目の引数を使用して、誰かを 1 つ以上の特定のグループ/興味に登録できます。
ニュースレター::subscribeOrUpdate( '[email protected]', ['FNAME'=>'リンス','LNAME'=>'風'], 「購読者」、 ['interests'=>['interestId'=>true, 'interestId'=>true]], );
グループ/興味から誰かを削除したい場合は、 false
を追加するだけです。
特定のリストから誰かを登録解除する方法は次のとおりです。
ニュースレター::unsubscribe('[email protected]', '購読者');
削除は購読解除とは異なります。購読解除とは異なり、メンバーを削除すると、リストから削除されるだけでなく、すべての履歴 (追加/オプトイン/編集) が失われます。ほとんどの場合、 delete
代わりにunsubscribe
使用します。
削除を実行する方法は次のとおりです。
ニュースレター::delete('[email protected]');
getMember
関数を使用して、サブスクライバーに関する情報を取得できます。
ニュースレター::getMember('[email protected]');
MailCoach の場合、これはSpatieMailcoachResources|Subscriber
のインスタンスを返します。 MailChimp の場合、これはサブスクライバに関する情報を含む配列を返します。
その電子メール アドレスで購読している人がいない場合、関数はfalse
を返します。
誰かがすでに購読しているかどうかを確認する便利な方法もあります。
ニュースレター::hasMember('[email protected]'); // ブール値を返します
これに加えて、ユーザーがリストに登録されているかどうかを確認することもできます。
ニュースレター::isSubscribed('[email protected]'); // ブール値を返します
さらに多くの機能が必要な場合は、基になる API のインスタンスを取得します。
$api = ニュースレター::getApi();
MailChimp の統合に問題がある場合は、次のコマンドで最後のエラーを確認できます。
ニュースレター::getApi()->getLastError();
以下を使用してテストを実行します。
ベンダー/ゴミ箱/害虫
最近の変更点の詳細については、CHANGELOG を参照してください。
詳細については、「貢献」を参照してください。
セキュリティ関連の問題を発見した場合は、問題トラッカーを使用する代わりに [email protected] に電子メールを送信してください。
フリーク・ファン・デル・ヘルテン
すべての貢献者は、メンテナンスと新しい素晴らしいものに人員を割り当てることに専念してください。
MIT ライセンス (MIT)。詳細については、ライセンス ファイルを参照してください。