OSSメルマガ比較:Listmonk vs Mailtrain vs Mautic でメルマガを配信する
オープンソースラボ編集部 ・ 2026年6月14日
OSSメルマガ比較:Listmonk vs Mailtrain vs Mautic でメルマガを配信する
Mailchimp($13/月〜)・Klaviyo($20/月〜)などの有料SaaSメールマーケティングツールに依存せず、セルフホストで大量メールを自動配信・購読管理・開封率追跡できるOSSメールマーケティングツールが進化しています。Listmonk(Go製・高速・シンプル・10万件/時間配信)・Mailtrain(Node.js製・テンプレートエンジン充実)・Mautic(PHP製・マーケティングオートメーション特化)の3つが2026年のOSSメールマーケティング主要選択肢です。
OSSメールマーケティングを使う理由
- コスト削減: Mailchimp 1万人プラン($100/月)→Listmonk+SES($1/月)で99%削減
- 購読者数無制限: 有料SaaSの人数上限なしに自社サーバーで管理
- データ主権: 購読者・メールアドレスリストを自社データベースに保持してGDPR対応
- カスタムドメイン: 完全自社ドメインのメール送信でブランディング強化
主要ツールの概要
Listmonk
2020年公開、Go製のOSSです。GitHubスター15k+。Go製で超高速・1サーバーで毎時10万件以上のメール配信が可能なOSSニュースレターツールで、シングルバイナリで動作しPostgreSQLだけで完結します。購読者一覧・テンプレート管理・キャンペーン作成・開封率/クリック率トラッキングがシンプルなWeb UIで提供されます。
# docker-compose.yml: Listmonk
version: "3.8"
services:
listmonk:
image: listmonk/listmonk:latest
restart: unless-stopped
ports:
- "9000:9000"
environment:
LISTMONK_app__address: 0.0.0.0:9000
LISTMONK_app__admin_username: admin
LISTMONK_app__admin_password: ${ADMIN_PASS}
LISTMONK_db__host: listmonk-db
LISTMONK_db__port: 5432
LISTMONK_db__user: listmonk
LISTMONK_db__password: ${DB_PASS}
LISTMONK_db__database: listmonk
depends_on: [listmonk-db]
command: [./listmonk, --static-dir, /listmonk/static]
listmonk-db:
image: postgres:16-alpine
environment:
POSTGRES_DB: listmonk
POSTGRES_USER: listmonk
POSTGRES_PASSWORD: ${DB_PASS}
volumes:
- listmonk_db:/var/lib/postgresql/data
volumes:
listmonk_db:
# Python: Listmonk API でメルマガ購読者管理・キャンペーン作成を自動化
import requests
LISTMONK_URL = 'http://localhost:9000'
AUTH = ('admin', 'password')
def add_subscriber(email: str, name: str, list_ids: list = None,
attribs: dict = None) -> dict:
'''Listmonkに購読者を追加(Webサイトの登録フォームから自動登録)'''
resp = requests.post(
f'{LISTMONK_URL}/api/subscribers',
auth=AUTH,
json={
'email': email,
'name': name,
'status': 'enabled',
'lists': list_ids or [1],
'attribs': attribs or {},
'preconfirm_subscriptions': True,
},
)
return resp.json()
def create_campaign(name: str, subject: str, body: str, list_ids: list,
send_at: str = None) -> dict:
'''Listmonkでメールキャンペーンを作成・スケジュール送信'''
resp = requests.post(
f'{LISTMONK_URL}/api/campaigns',
auth=AUTH,
json={
'name': name,
'subject': subject,
'lists': list_ids,
'type': 'regular',
'content_type': 'richtext',
'body': body,
'send_at': send_at, # ISO8601: 2026-06-20T09:00:00+09:00
},
)
campaign = resp.json()['data']
# キャンペーンを開始(スケジュールなしなら即時送信)
if not send_at:
requests.put(
f'{LISTMONK_URL}/api/campaigns/{campaign["id"]}/status',
auth=AUTH,
json={'status': 'running'},
)
return campaign
def get_campaign_stats(campaign_id: int) -> dict:
'''キャンペーンの開封率・クリック率・直帰率を取得'''
resp = requests.get(f'{LISTMONK_URL}/api/campaigns/{campaign_id}', auth=AUTH)
data = resp.json()['data']
stats = data.get('stats', {})
total = data['send_count'] or 1
return {
'sent': data['send_count'],
'open_rate': round(stats.get('unique_opens', 0) / total * 100, 1),
'click_rate': round(stats.get('unique_clicks', 0) / total * 100, 1),
'bounce_rate': round(stats.get('bounces', 0) / total * 100, 1),
}
Mailtrain
2016年公開、Node.js製のOSSです。GitHubスター14k+。豊富なテンプレートエンジン(MJML・Mosaico・GrapeJS)とセグメンテーション機能を持つOSSメールマーケティングツールで、Mailchimp的なドラッグ&ドロップエディタでHTMLメールを作成できます。
# docker-compose.yml: Mailtrain v2
version: "3.8"
services:
mailtrain:
image: mailtrain/mailtrain:latest
restart: unless-stopped
ports:
- "3000:3000"
environment:
URL_BASE_TRUSTED: https://newsletter.example.com
URL_BASE_SANDBOX: https://newsletter.example.com
MYSQL_HOST: mailtrain-db
MYSQL_DATABASE: mailtrain
MYSQL_USER: mailtrain
MYSQL_PASSWORD: ${DB_PASS}
WITH_REDIS: "true"
REDIS_HOST: mailtrain-redis
depends_on: [mailtrain-db, mailtrain-redis]
mailtrain-db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASS}
MYSQL_DATABASE: mailtrain
MYSQL_USER: mailtrain
MYSQL_PASSWORD: ${DB_PASS}
volumes:
- mailtrain_db:/var/lib/mysql
mailtrain-redis:
image: redis:7-alpine
volumes:
mailtrain_db:
Mautic
2014年公開、PHP製のOSSです。GitHubスター7k+。マーケティングオートメーション(シナリオ配信・リードスコアリング・ランディングページ作成)に特化したOSSで、メール・SMS・ソーシャル・Web通知を統合したマルチチャネルマーケティングをノーコードで設定できます。
# docker-compose.yml: Mautic 5
version: "3.8"
services:
mautic:
image: mautic/mautic:5-apache
restart: unless-stopped
ports:
- "80:80"
environment:
MAUTIC_DB_HOST: mautic-db
MAUTIC_DB_NAME: mautic
MAUTIC_DB_USER: mautic
MAUTIC_DB_PASSWORD: ${DB_PASS}
MAUTIC_TRUSTED_HOSTS__0: newsletter.example.com
depends_on: [mautic-db]
volumes:
- mautic_html:/var/www/html
mautic-db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASS}
MYSQL_DATABASE: mautic
MYSQL_USER: mautic
MYSQL_PASSWORD: ${DB_PASS}
volumes:
- mautic_db:/var/lib/mysql
volumes:
mautic_html:
mautic_db:
機能比較表
| 比較項目 | Listmonk | Mailtrain | Mautic |
|---|---|---|---|
| 配信速度 | ✅ Go・最高速 | 中 | 中 |
| ドラッグ&ドロップ | △ | ✅ | ✅ |
| マーケティングオートメーション | ❌ | △ | ✅ |
| セットアップ難易度 | ✅ 最易 | 中 | 中 |
| GitHub Stars | 15k+ | 14k+ | 7k+ |
メールマーケティングツールはマーケティングカテゴリ/categories/marketingのWebアナリティクス(Plausible/Umami)と組み合わせてメール→ランディングページ→コンバージョンの全ファネルをOSSで完結します。その他カテゴリ/categories/miscのCRM(SuiteCRM/Twenty)とWebhookで連携してCRMのリードに自動的にメールシーケンスを送信するリードナーチャリングフローを構築します。
FAQ
Q. ListmonkをAWS SES・Postmark・SendGridと連携して大量メールを送信するには?
A. ListmonkのSMTP設定でAWS SES・Postmark・SendGridのSMTPエンドポイントを指定して外部メール配信サービスを利用します。設定: Listmonk Console→Settings→SMTP。AWS SES設定: Host: email-smtp.ap-northeast-1.amazonaws.com・Port: 587・Username: SES SMTP認証情報・Password: SES SMTPパスワード・TLS: STARTTLS。SendGrid設定: Host: smtp.sendgrid.net・Port: 587・Username: apikey・Password: SG.xxxxxxxxxx(APIキー)。Postmark: Host: smtp.postmarkapp.com・Port: 587・Username/Password: Postmark ServerAPIトークン。配信速度: Settings→Performance→Max. concurrent workersを10〜50に設定→並列SMTP接続でSESの1秒14通制限(ap-northeast-1の初期値)に対応→スロットリングをListmonkが自動管理。
Q. Mauticでウェルカムメールシーケンス(ドリップキャンペーン)を設定するには?
A. MauticのCampaign Builder(ノーコード)で「登録後24時間→72時間→7日後」のシーケンスを設定します。設定: ①Campaigns→New Campaign②Campaign Source: Formから「お問い合わせフォーム」を選択③Decision Points: Register on form "contact-form"(トリガー)④Email Action: Send email: ウェルカムメール(登録直後)⑤Wait Action: 24時間→Send email: 使い方ガイド→Wait 2日→Send email: 事例紹介→Wait 4日→Send email: 限定オファー。条件分岐: 「メールを開封した」→「ケーススタディを送信」、「未開封」→「件名変えてリマインダー」のA/Bテスト自動化。リードスコア: メール開封+2点・リンククリック+5点→合計20点→セールスチームに通知するスコアリング自動化。
Q. Listmonkのダブルオプトイン設定でGDPR準拠の購読登録を実装するには?
A. Listmonkのサブスクリプションリストでダブルオプトイン(確認メール)を有効化してGDPR準拠の同意記録を実装します。設定: ①Listmonk Console→Lists→当該リストの編集②Opt-in type: Double opt-inに設定③確認メールテンプレート: Settings→Messenger Templates→optinテンプレートをカスタマイズ(ブランドカラー・会社情報を追記)。フロントエンド実装: Webフォーム→POST /api/public/subscription→購読者に確認メール自動送信→リンクをクリックするまでstatus: unconfirmed→クリック後enabledに変更。GDPR記録: Listmonkは購読日時・確認日時・IPアドレスをDBに記録→GDPRの同意記録要件を自動的に満たす→GET /api/subscribers/{id}で特定購読者の記録をエクスポート(忘れられる権利対応)。
Q. Listmonk・Mailtrain・Mauticのどれを選ぶべきですか?
A. シンプルなニュースレター・高速配信・最小設定ならListmonk、ドラッグ&ドロップメールエディタ・MJML対応・デザイン重視ならMailtrain、マーケティングオートメーション・ドリップシーケンス・リードスコアリング・マルチチャネルならMauticが向いています。Listmonk優位: ①Go製シングルバイナリ→PostgreSQLのみで動作→最小インフラ②毎時10万件以上の高速配信→メルマガメインで利用するスタートアップ・ブロガーに最適③シンプルなAPI→Webフォームからの自動登録・Webhookとの連携が容易④開封率・クリック率の基本統計が内蔵。Mailtrain優位: ①MJMLエディタ→レスポンシブHTMLメールをブロックエディタで作成②セグメンテーション→購読者属性(国・タグ・カスタムフィールド)でターゲット絞り込み③A/Bテスト機能→件名・差出人名・本文の変種テスト。Mautic優位: ①キャンペーンビルダー(ノーコード)→「3日後に未開封なら件名変えて再送」を自動化②LPビルダー→メール+ランディングページをMauticで一元管理③CRM統合→SalesforceやSuiteCRMとのデータ同期④チャンネル統合→メール・SMS・プッシュ通知・ソーシャルを1つの自動化フローで管理。
まとめ
| ユースケース | 推奨ツール |
|---|---|
| シンプル・高速配信・ニュースレター | Listmonk |
| デザイン重視・HTMLメールエディタ | Mailtrain |
| マーケティングオートメーション・ドリップ | Mautic |