ニュースレターを安全に配信するための転送メール機能を備えたListmonk

このガイドでは、開発者向けに設定手順を段階的に説明します。 リストモンク強力なオープンソースのニュースレターおよびメーリングリストマネージャである 前方のメール SMTPプロバイダーとして、この組み合わせにより、安全でプライバシーが確保され、信頼性の高いメール配信を確保しながら、キャンペーンを効果的に管理できます。

  • リストモンク: 加入者管理、リスト編成、キャンペーン作成、パフォーマンス追跡を処理します。
  • 前方のメール: 安全な SMTP サーバーとして機能し、SPF、DKIM、DMARC、TLS 暗号化などの組み込みのセキュリティ機能を使用して実際の電子メールの送信を処理します。

これら 2 つを統合することで、Forward Email の堅牢な配信システムを活用しながら、データとインフラストラクチャを完全に制御できます。

  • オープンソースListmonkとForward Emailの理念はどちらも透明性とコントロールを重視しています。Listmonkはお客様ご自身でホストされ、データの所有権はお客様にあります。
  • プライバシー重視: Forward Email はプライバシーを重視して構築されており、データの保持を最小限に抑え、安全な送信に重点を置いています。
  • 費用対効果が高い: Listmonk は無料で、Forward Email は充実した無料プランと手頃な有料プランを提供しているため、予算に優しいソリューションとなっています。
  • スケーラビリティListmonk はパフォーマンスが非常に高く、Forward Email のインフラストラクチャは大規模で信頼性の高い配信を実現するように設計されています。
  • 開発者向け: Listmonk は強力な API を提供し、Forward Email は簡単な SMTP 統合と Webhook を提供します。

始める前に、次のものがあることを確認してください。

  • 少なくとも 1 つの CPU と 1 GB の RAM (2 GB を推奨) を備えた最新の Linux ディストリビューション (Ubuntu 20.04+ を推奨) を実行する仮想プライベート サーバー (VPS)。
  • 自分が管理するドメイン名 (DNS アクセスが必要)。
  • アクティブなアカウント 前方のメール.
  • ルートまたは sudo VPS へのアクセス。
  • Linux コマンドライン操作に関する基本的な知識。

以下の手順では、Docker と Docker Compose を使用して VPS に Listmonk をインストールする方法について説明します。

1. サーバーを更新する

システムのパッケージ リストとインストールされているパッケージが最新であることを確認します。

sudo apt update && sudo apt upgrade -y

2. 依存関係をインストールする

Docker、Docker Compose、UFW (Uncomplicated Firewall) をインストールします。

sudo apt install -y docker.io docker-compose ufw

3. Listmonk設定をダウンロードする

Listmonkのディレクトリを作成し、公式をダウンロードします docker-compose.yml ファイル。

mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml

このファイルは、Listmonk アプリケーション コンテナーとそれに必要な PostgreSQL データベース コンテナーを定義します。

4. ファイアウォール(UFW)を構成する

ファイアウォールを通過する必須トラフィック(SSH、HTTP、HTTPS)を許可します。SSHが標準以外のポートで実行される場合は、それに応じて調整してください。

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

プロンプトが表示されたら、ファイアウォールを有効にすることを確認します。

5. HTTPSアクセスを構成する

ListmonkをHTTPS経由で実行することはセキュリティ上非常に重要です。主に2つの選択肢があります。

ドメインの DNS が Cloudflare によって管理されている場合は、プロキシ機能を活用して簡単に HTTPS を利用できます。

  1. ポイントDNS: 作成する A CloudflareのListmonkサブドメインのレコード(例: listmonk.yourdomain.com)がVPSのIPアドレスを指していることを確認してください。 プロキシステータス 設定されている プロキシ (オレンジ色の雲)。
  2. Docker Compose を変更する: 編集 docker-compose.yml ダウンロードしたファイル:
    sed -i 's/9000:9000/80:9000/' docker-compose.yml
    
    これにより、Listmonk はポート 80 で内部的にアクセスできるようになり、Cloudflare は HTTPS でプロキシしてセキュリティ保護できるようになります。

オプション B: リバースプロキシ (Nginx、Caddy など) の使用

あるいは、VPS に Nginx や Caddy などのリバース プロキシを設定して、HTTPS 終了と Listmonk (デフォルトではポート 9000 で実行) へのプロキシ要求を処理することもできます。

  • デフォルトのままにする ports: - "127.0.0.1:9000:9000"docker-compose.yml Listmonk がローカルでのみアクセス可能であることを確認します。
  • 選択したリバースプロキシをポート80と443でリッスンするように設定し、SSL証明書の取得(例:Let's Encrypt経由)を処理し、トラフィックを次のポートに転送します。 http://127.0.0.1:9000.
  • リバース プロキシの詳細な設定はこのガイドの範囲外ですが、オンラインで多くのチュートリアルを利用できます。

6. Listmonkを起動する

戻る listmonk ディレクトリに移動し (まだそこにいない場合)、コンテナをデタッチ モードで起動します。

cd ~/listmonk # Or the directory where you saved docker-compose.yml
docker compose up -d

Dockerは必要なイメージをダウンロードし、Listmonkアプリケーションとデータベースコンテナを起動します。初回は1~2分かかる場合があります。

Listmonk にアクセス: これで、設定したドメイン経由でListmonkのウェブインターフェースにアクセスできるようになります(例: https://listmonk.yourdomain.com).

7. Listmonkでメール転送SMTPを設定する

次に、転送メール アカウントを使用してメールを送信するように Listmonk を設定します。

  1. 転送メールにSMTPを有効にする: 転送メールアカウントのダッシュボードでSMTP認証情報が生成されていることを確認してください。 SMTP経由でカスタムドメインのメールを送信するためのメール転送ガイド まだの場合は、ご覧ください。
  2. Listmonkを設定する: Listmonk 管理パネルにログインします。
    • 移動先 設定 -> SMTP.

    • Listmonkにはメール転送機能が組み込まれています。 メール転送 プロバイダー リストから選択するか、次の詳細を手動で入力します。

      設定価値
      ホストsmtp.forwardemail.net
      ポート465
      認証プロトコルLOGIN
      ユーザー名転送メール SMTPユーザー名
      パスワード転送メール SMTPパスワード
      TLSSSL/TLS
      メールからご希望の From 住所(例: newsletter@yourdomain.com)。このドメインがメール転送に設定されていることを確認してください。
    • 重要: 常にポートを使用する 465SSL/TLS 転送メールとの安全な接続のために。STARTTLS(ポート587)は使用しないでください。

    • クリック セーブ.

  3. テストメールを送信SMTP設定ページ内の「テストメールを送信」ボタンを使用します。アクセスできる受信者のアドレスを入力し、クリックします。 送信メールが受信者の受信トレイに届いたことを確認します。

8. バウンス処理を設定する

バウンス処理により、Listmonk は配信できなかったメール(例:無効なアドレス)を自動的に処理できます。Forward Email は、バウンスを Listmonk に通知する Webhook を提供します。

メール転送設定

  1. ログイン メール転送ダッシュボード.
  2. 移動先 ドメイン送信に使用しているドメインを選択し、 設定 ページ。
  3. 下にスクロールして バウンスWebhook URL セクション。
  4. 次のURLを入力します。 <your_listmonk_domain> Listmonk インスタンスにアクセスできる実際のドメインまたはサブドメインに置き換えます。
    https://<your_listmonk_domain>/webhooks/service/forwardemail
    
    : https://listmonk.yourdomain.com/webhooks/service/forwardemail
  5. さらに下にスクロールすると Webhook 署名ペイロード検証キー セクション。
  6. コピーする 生成された検証キー。Listmonkで必要になります。
  7. 転送メールのドメイン設定の変更を保存します。

Listmonkのセットアップ

  1. Listmonkの管理パネルで、 設定 -> バウンス.
  2. 有効にする バウンス処理を有効にする.
  3. 有効にする バウンスWebhookを有効にする.
  4. 下にスクロールして Webhookプロバイダー セクション。
  5. 有効にする 前方のメール.
  6. 貼り付け Webhook 署名ペイロード検証キー メール転送ダッシュボードからコピーした メール転送キー 分野。
  7. クリック セーブ ページの下部にあります。
  8. バウンス処理が設定されました。Forward Email が Listmonk から送信されたメールのバウンスを検出すると、Webhook 経由で Listmonk インスタンスに通知し、Listmonk はそれに応じて購読者にマークを付けます。
  9. 以下の手順を完了してください テスト すべてが機能していることを確認します。

以下は、Listmonk のコア機能の概要です。

メーリングリストを作成する

  • に行く リスト サイドバーにあります。
  • クリック 新しいリスト.
  • 詳細(名前、タイプ:公開/非公開、説明、タグ)を入力し、 セーブ.

購読者を追加する

  • に移動 購読者 セクション。
  • 購読者を追加できます:
    • 手動で: クリック 新規加入者.
    • 輸入: クリック サブスクライバーをインポートする CSV ファイルをアップロードします。
    • API: プログラムによる追加には Listmonk API を使用します。
  • 作成時またはインポート時に、サブスクライバーを 1 つ以上のリストに割り当てます。
  • ベストプラクティス: ダブルオプトインプロセスを使用します。設定は以下から行えます。 設定 -> オプトインとサブスクリプション.

キャンペーンを作成して送信する

  • に行く キャンペーン -> 新しいキャンペーン.
  • キャンペーンの詳細(名前、件名、送信元メール、送信先リスト)を入力します。
  • コンテンツ タイプ (リッチ テキスト/HTML、プレーン テキスト、生の HTML) を選択します。
  • メールの本文を作成します。テンプレート変数として、次のようなものを使用できます。 {{ .Subscriber.Email }} または {{ .Subscriber.FirstName }}.
  • 必ず最初にテストメールを送信してください。 「テスト送信」オプションを使用して、受信トレイでメールをプレビューします。
  • 満足したらクリック キャンペーンを開始 すぐに送信するか、後で送信するようにスケジュールします。

  • SMTP配信: Listmonk の SMTP 設定ページから定期的にテストメールを送信し、キャンペーンをテストして、メールが正しく配信されることを確認します。
  • バウンス処理: 無効なメールアドレス(例: bounce-test@yourdomain.com (実際のものが手元にない場合は、結果は異なる場合があります。) しばらくしてから Listmonk でキャンペーンの統計情報をチェックして、バウンスが登録されているかどうかを確認します。
  • メールヘッダー: 次のようなツールを使用する メールテスター または、電子メール ヘッダーを手動で検査して、SPF、DKIM、および DMARC が通過し、電子メールの転送を通じて適切に設定されていることを確認します。
  • メールログを転送する: SMTP サーバーに起因する配信の問題が疑われる場合は、メール転送ダッシュボードのログを確認してください。

  • テンプレートListmonkはGoのテンプレートエンジンを使用しています。高度なパーソナライゼーションについては、ドキュメントをご覧ください。 {{ .Subscriber.Attribs.your_custom_field }}.
  • APIListmonkは、リスト、購読者、キャンペーン、テンプレートなどを管理するための包括的なREST APIを提供しています。ListmonkインスタンスのフッターにあるAPIドキュメントへのリンクをご覧ください。
  • カスタムフィールド: カスタム購読者フィールドを定義する 設定 -> 購読者フィールド 追加データを保存します。
  • Webhook: バウンス以外にも、Listmonk は他のイベント (サブスクリプションなど) の Webhook を送信できるため、他のシステムとの統合が可能になります。

Listmonkのセルフホスティング機能と、Forward Emailの安全でプライバシーに配慮した配信機能を統合することで、堅牢かつ倫理的なメールマーケティングプラットフォームを構築できます。高い配信率と自動化されたセキュリティ機能のメリットを享受しながら、オーディエンスデータの完全な所有権を維持できます。

このセットアップは、オープンソース ソフトウェアとユーザーのプライバシーの精神に完全に合致し、独自の電子メール サービスに代わる、スケーラブルでコスト効率が高く、開発者に優しい代替手段を提供します。

送信していただきありがとうございます!🚀