Mauticを使ってみる(メール配信)

2023年5月3日

インストールと起動

例によってDockerでインスールする。Traefikを使う。データベースはあらかじめ作成しておく。

version: "3.3"

services:
  mautic:
    container_name: mautic
    image: mautic/mautic:v4
    volumes:
      - ./data:/var/www/html:rw
    environment:
      - MAUTIC_DB_HOST=mariadb
      - MAUTIC_DB_USER=******
      - MAUTIC_DB_PASSWORD=*******
      - MAUTIC_DB_NAME=mautic
      - MAUTIC_DB_TABLE_PREFIX=mautic
    restart: always
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.mautic.rule=Host(`mautic.example.com`)"
      - "traefik.http.routers.mautic.entrypoints=websecure"
      - "traefik.http.routers.mautic.tls.certresolver=myresolver"
      - "traefik.http.routers.mautic-http.entrypoints=web"
      - "traefik.http.routers.mautic-http.rule=Host(`mautic.example.com`)"
      - "traefik.http.routers.mautic-http.middlewares=mautic-https"
      - "traefik.http.middlewares.mautic-https.redirectscheme.scheme=https"
networks:
  default:
    external:
      name: traefik-network

設定

https://mautic.example.comにアクセスする。

「Some Recommendations」とあるが、単にhttpじゃなくてhttpsでアクセスしろよという内容。Traefikでhttpsしているので問題ない。

※しかし、これが後々まで問題になる(後述)。

以下のように設定を進めると、管理者ログインになる。

ログインするとダッシュボード表示になる。

残念ながら、日本語対応はしていないようだ。英語のままで使用する。

フォームを作成してメアドを収集する

この後は、おそらくこういった具合だろう。メアド収集用のフォームを作成し、ユーザにメアドを入力してもらう。そして、当然ながら集まったメアドに対してメルマガなり何なりを送信するということだ。まずは、Components>Formsでフォームを作成する。

Campaign FormかStandalone Formかを選択するが、キャンペーンというものを作成しないのであれば、Standaloneを選択する。

WordPressプラグインを使ってWordpressページにフォームを埋め込む

設定では、mauticのとして先のURL、https://mautic.example.comを入力する。これで保存。

あとは、適当なページを作成して、そこにMauticのショートコードを記述する。

[mautic type="form" id="1"]

idの値は実際の値にする。まっさらな状態でフォームを作成すると、そのidは1になる。

これを表示すると以下になるのだが、表示ページとフォームのフィールドが別サイトのため、ブラウザからの警告が出まくりだ。

これは別にWordpressに限らないことで、基本的には、Mauticで作成したフォームを別サイトに埋め込むことはやめた方がよさそうだ。

※ともあれ、このフォームでメアドを入力してやると、MauticのContactsに登録されることは確認できた。

ということは、Wordpressを使う場合、Wordpress側はContact Form 7などのプラグインでユーザ情報を収集し、これをMautic側に自動で与えてやる必要があるだろう。

既にこの方法があるようだ。MauticのフォームとContact Form 7を連携させる方法 ワードプレスプラグインに説明がある。

なかなか面倒そうだが、しかし、Mauticのフォームは使えないので(ユーザが不安になる)、Wordpress上のフォーム、それもContcat Form 7のような枯れたものを使ってユーザ入力されたものを、Mauticあるいは他のメール配信システムに登録するほかはないだろう。

これを考えてみると、対象ウェブサイトがWordpress製の場合には、まずMautic等のメール配信システム自体の調査ではなく、Contact Form 7等のフォーム作成プラグインが連携できているメール配信システムの選択になるだろう。

当然だが、メアド登録解除の機能も必要だ。

httpとhttps問題

先のブラウザからの警告というのは、Mautic自体がhttpで動作しているが、Wordpressはhttpsで動作しており、httpsの中にhttpのiframeを入れたからのようだ。したがって、Mauticに対して「大丈夫だから、https」で動いているからと伝え、iframeをhttpsで出してもらえば良い話なのだが、この方法が無い。

There should be a way to set Mautic to use HTTPS in the config #8944という書き込みがあるが、この問題が解決できたのか不明だし、そもそも彼の解決方法をとってみても、何も変わらなかった。

また、WordpressのMauticプラグイン(WP Mautic)には、MauticのURLを「https://mautic.example.com」と、https付きで教えてあるにも関わらず効果は無いようだ。

さらに、wordpressは無関係に、Mautic自体のLanding Pageを作り、そこにフォームを組み入れても同じ警告が表示される。一体どうすれば良いのか不明。

Mauticを使ってみてわかったことは、単純にメール配信システムだけあれば良いのではなく、ユーザの登録画面や非登録画面を提供し、ユーザ自身に登録・非登録をやってもらわないと面倒なこと。この単純なことさえ簡単にはさせてもらえないようだ。

一方、Contcat Form 7の入力内容をMauticに取り込ませるためのWordpress用プラグインがあるというのだが、見つからなかった。これが機能するのであれば、少なくともWordpressでの表示問題は解決するはずなのだが。

ともあれ、先のやりとりを見ても、開発者側には根本的な問題解決の意思は無いようだ。