LaravelとMailChimp連携方法:ユーザーにメルマガ・ニュースレターを手軽に配信する

LaravelとMailChimp

LaravelはMailChimpというメール配信システムと連携させて、メルマガ・ニュースレターを送信できます。

次のような流れを、手軽に作ることができます。

  1. Laravel上でフォームを通じて、ユーザー登録してもらう
  2. Laravelのデータベースにユーザー情報を登録する
  3. 同時にMailChimpにもユーザー情報を登録する
  4. MailChimpを通じて、ユーザーにニュースレターなどを配信する

MailChimpは日本語版がないので、英語が苦手な方は、ちょっと使いにくいかもしれません。

英語に抵抗がなければ、おすすめしたいツール。

非常に便利で、コスパが良く(無料版もあります♪)、世界的に有名なメール配信システムです。

今回は、MailChimpとLaravelの基本的な連携方法を解説していきます。

LaravelとMailChimp連携方法:ユーザーにメルマガ・ニュースレターを手軽に配信する

Laravelのプロジェクトが既にあり、MailChimpでアカウントを作成してあるという想定で、説明を進めていきます。

もしまだMailChimpアカウントをお持ちでない場合には、下記のMailChimpのサイトから、アカウントを作成してください。

Laravelでのプロジェクトの作成方法は、下記の記事で解説しています。

アカウント作成後、Laravelのプロジェクト上で、下記の設定を進めていきます。

①ライブラリをインストール

laravel-newsletterというライブラリを使います。

まずは、ライブラリをインストールします。

②設定ファイル作成

③設定ファイルの確認

②で作成したファイルを確認します

config/newsletter.phpを開きます。

設定ファイルに  'apiKey' => env('MAILCHIMP_APIKEY'),'id' => env('MAILCHIMP_LIST_ID'), があります。

この2つは、.envファイルに設定しておく必要があります。

設定方法は次のとおり。

MAILCHIMP_APIKEYの設定

MAILCHIMPにログイン後、左下をクリックし、accountを選択

さらにExtrasより、API keysを選択。API作成画面が表示するので【create A key】を選択して、新たにAPIキーを作成します。

APIキーが表示されるので、これをコピー。

.envファイルの MAILCHIMP_APIKEY=の後に貼り付けます。

MAILCHIMP_LIST_IDの設定

MAILCHIMPログイン後、Audienceクリック。

プルダウンからSettingを選択。

Audience name and defaultsを選択。

Audience IDをコピーします。

.envファイルの MAILCHIMP_LIST_ID=の後に貼り付けます。

SSLをFALSEに変更

開発環境の場合には、config/newsletter.phpの設定が  'ssl' =>true, だと、別途 ssl用の設定をしておかなければ、登録できません。

開発環境の場合は、 'ssl' =>false, にして、試してみてください。

④Laravelのコントローラーを作成

コントローラーを作成します。

次のようにいれておきます。

⑤Laravelのルート設定を追加

次の2つのルート設定を、routes/web.phpに追加します。

⑥Laravelのビューでフォームを作成

次に、Laravelのビューでフォームを作成します。

resources/viewsに newsletter.blade.phpファイルを作ります。

次のようなシンプルなフォームをいれておきます。

*bootstrapを使ってフォームのデザインをしています。

⑦テストをする

フォームにメールアドレスを入力して、実際に登録できるかテストしてみてください。

/newsletterを開くと、次のようなシンプルなフォームが表示されます。

*もしbootstrapを入れていない場合には、見た目は変わります。

実際にメールアドレスを登録すると、MailChimpのコンタクトにも、メールアドレスが追加されています。

コンタクトを確認するには、MailChimpにログイン後、Audienceメニューから、All contactsを選択してください。

うまくいかない場合

下記コマンドで設定ファイルのキャッシュをクリアしてみてください。

開発環境の場合は、newsletter.phpファイルのSSLが ‘true’ となっていないか、チェックしてみてください。

さいごに

なお、Laravel側でもユーザー情報を保存したい場合には、Newscontrollerのstoreメソッドに、データベースにも保存する処理を書いておく必要があります。

この部分は、通常通りでOKです。

今回はここは省略しますが、もしご要望などあれば、記事を追加していきますね。

じゅんこ
じゅんこ

LaravelとMailChimp連携は、また色々と使ってみて、記事にしていきたいと思います。

MailChimpの登録はこちらをクリックしてください。

ページの真ん中あたりに【Sign Up Free】という青緑色のボタンが表示されます。そちらから無料版の登録が可能です。

LaravelとMailChimp
【Mailchimp導入サポート】

「LaravelとMailchimpを連携させたい」「Mailchimpを使いたいけど英語で不安」という方のために、サポートサービスをご用意しています。下記のボタンをクリックして、詳細をご覧ください。

詳しく見る

Twitter始めました。
40代からプログラミング!

コメント

タイトルとURLをコピーしました