phpListはオープンソースのメールマーケティングシステムになります。オープンソースなので自社ワークフローに合わせてカスタマイズしたり、社内システムと連携することもできます。
システム的にはPHPとMySQLというスタンダードな組み合わせで作られていますが、セットアップに多少なりとも手間をかけたくない方向けに、Dockerで利用できるようにしてみました。こちらを使えば、手軽にphpListが開始できます。
必要なもの
まずDocker Desktopが最低限必要です。Docker Composeも必要ですが、WindowsやmacOSであればDockerをインストールすれば自動的にインストールされます。
Docker Desktop for Mac and Windows | Docker
Linuxであれば下記のドキュメントを参考にインストールを行います。
Docker phpListのダウンロード
Dockerで使えるphpListをこちらに用意しています。Gitクローン、またはZipファイルでダウンロードしてください。
設定の編集
まず .env-dist ファイルを .env とリネームしてください。そして設定を編集します。特に下記項目を忘れずに編集してください。Customers Mail Cloudの管理画面でSMTPサーバの設定、APIユーザの作成を行って、その内容を入力してください。
# For Customers Mail Cloud SERVER=SERVER_HOST:PORT API_USER=API_USER API_KEY=API_KEY
例えば次のようになります。
# For Customers Mail Cloud SERVER=sandbox.smtps.jp:10025 API_USER=api@smtps.jp API_KEY=apikey
さらに postflix/main.cf
を開いて、リレーサーバのアドレスを編集してください。デフォルトではサンドボックスのアドレスになっています。
relayhost = sandbox.smtps.jp:10025
このアドレス(sandbox.smtps.jp:10025)を上記の SERVER として設定した値と同じものにします。
Dockerのビルド
まずDockerのビルドを行います。
docker-compose build
phpListの立ち上げ
これで準備ができましたので、phpListを立ち上げます。
docker-compose up
初期設定
phpListが立ち上がったら http://localhost:8000/lists/admin/
にアクセスします。設定でポート番号、ホスト名を変えている場合には読み替えてください。初期パスワードは admin
と SomeRandomPassword
ですが、これも設定で変更している場合には読み替えてください。
最初にアクセスした際に、バージョンアップが必要とメッセージが出ます。データベースのバージョンアップを行ってください。
これでphpListが使い始められます。
変更点について
phpListは公式でDocker用のファイルをリリースしています。
phpList/phplist-docker: Dockerised version of phpList
しかし、このリポジトリのものはメール送信設定ができないようになっていたり、管理画面のローカライズができないようになっています。それらを有効にしたいのが筆者のバージョンになります。
常にphpListの最新版を取得しているので、phpListのバージョンが上がったタイミングで動作しなくなる可能性があります。ご注意ください。
メール配信について
phpListの使い方については、こちらの記事にて紹介しています。phpListの日本語ローカライズは完璧ではなく、英語がところどころに残っていますのでご注意ください。
まとめ
phpListはとても優秀で便利なソフトウェアですが、メールサーバの設定などは非常に面倒です。間違った設定をしていると購読者のメールボックスに正しく届かず、効果的ではありません。Dockerを使うことで設定済みの状態ですぐに利用できます。また、Customers Mail Cloudを使えば大量のメール配信であっても問題なく対応できます。ぜひご利用ください。