Mailchimpを解約する|小さなビジネスのメール配信を1日で自作する具体手順
月数回しかメルマガを打たないのに、Mailchimpの月額が重いと感じたことはないだろうか。
登録者が2,000人を超えたあたりから、Mailchimpの請求は静かに膨らんでいく。月3,000円、5,000円、気づけば年間で6万円を超えている。それでも配信は月に2、3回。1通あたりのコストを計算すると、胃が痛くなる。
やめたい。でも乗り換え先が分からない。配信停止リンクの仕組みも、開封率の取り方も、全部Mailchimpに任せてきたから、自分で組める気がしない。
この記事は、そういう人のために書いた。結論から言えば、月10,000通くらいまでの配信なら、ほぼ無料で自作できる。必要な時間は1日。エンジニアでなくてもいい。順を追って手順を書いていく。
この記事の前提
想定している読者は、こんな人だ。
- メルマガ配信は月に1〜4回程度
- 登録者は数百人〜5,000人くらい
- Mailchimp、Benchmark Email、配配メールなどの月額制サービスを使っている
- 月額が地味に重いと感じている
- でも移行や自作は面倒で後回しにしている
逆に、毎日配信している人、ステップメールを複雑に組んでいる人、マーケティングオートメーションをフル活用している人には向かない。そういう人はSaaS(月額制ソフトウェア)にお金を払う価値がある。
この記事のスタンスははっきりしている。小さく、安く、壊れにくく。派手な機能はいらない。自分で仕組みが分かっていて、止まっても自分で直せる。それがひとり事業主にとっての正解だと私は思っている。
専門用語は出てくるたびに括弧で言い換える。コードも出てくるが、コピペで動くところまで書く。読み飛ばしても手順は追えるようにした。
なぜMailchimpは高く感じるのか

Mailchimpの料金は、登録者数で決まる。配信回数ではない。ここが個人事業主にとって一番つらいところだ。
月に2回しか打たなくても、月に20回打っても、登録者が3,000人なら同じ金額を払う。つまり、あまり配信しない人ほど1通あたりのコストが跳ね上がる。
2026年4月時点で、Mailchimpの有料プラン(Essentials)は登録者2,500人でおよそ月額75ドル、日本円でだいたい11,000円前後。年間にすると13万円を超える。
この金額で何ができるかを考えてほしい。クラウドサーバー代が1年分払える。税理士への月額顧問料の2ヶ月分になる。個人事業主にとって、13万円は決して小さくない。
一方で、月に数回の配信なら、技術的にはほぼ無料で回せる。以下で詳しく書いていく。
全体像|何をどう組み合わせるのか

自作と言っても、ゼロから全部作るわけではない。組み合わせるのは次の4つだけだ。
- 配信エンジンとしてResend(リゼンド、メール配信API)
- 登録者リストをGoogle SheetsまたはSupabase(スーパーベース、無料のデータベース)
- 配信停止ページをNext.js(ネクストジェイエス、Webフレームワーク)の簡単なページ
- 開封率トラッキングは1ピクセル画像方式
Resendは開発者向けのメール配信サービスで、無料枠が月3,000通ある。もう一段上の有料プランでも月額20ドル(約3,000円)で月50,000通まで送れる。Mailchimpの登録者数課金とは桁が違う。
登録者が2,000人で月に4回配信する場合を計算してみる。2,000通×4回=月8,000通。Resendの有料プランに収まる。月額20ドル。Mailchimpの75ドルから55ドル下がる。年間で6万円以上の削減になる。
月に1〜2回の配信で登録者1,500人以下なら、無料枠の3,000通に収まる。つまり本当に0円で回せる。
参考にできる事例
ある個人メディア運営者の話
私が知っているある個人事業主は、登録者1,200人のニュースレターをResendで運用している。以前はMailchimpで月額30ドル弱払っていたが、移行して完全に無料枠内に収まるようになった。
移行作業に使った時間は、本人いわく丸1日。午前中にResendのアカウント作成とドメイン認証、午後に配信スクリプトとテンプレート、夜に配信停止ページと開封計測の仕組みを組んだそうだ。
一番大変だったのはドメイン認証(送信元の正当性をメールサーバーに示す仕組み)だったと言っていた。DNS(ドメイン名の住所録)の設定に慣れていないと、SPF、DKIM、DMARCという3つの設定で最初つまずく。
あるコーチングビジネスの事例
もう一人知っているのは、月1回のニュースレターだけ送っているコーチ業の人だ。登録者は3,500人。Mailchimpで月額13,000円ほど払っていた。
この人はコードが書けないので、Resendに直接移行はせず、Buttondownという海外の個人向けニュースレターサービスに移った。月額9ドル、1,400円前後。移行だけで年間14万円が浮いた計算になる。
書ける人はResend、書けない人はButtondownやKit(旧ConvertKit)のスタータープラン。この判断基準は覚えておいてほしい。
具体的な手順|1日で終わらせる流れ

ここからは、実際に手を動かす人向けの手順だ。コードが苦手な人は、読み飛ばして「よくある失敗」に進んでもいい。
ステップ1|Resendのアカウントを作る(15分)
resend.comにアクセスしてサインアップする。クレジットカードは無料枠で使う限り不要だ。
ログインしたら、左メニューのDomainsから自分のドメインを追加する。ここで自分のメルマガの送信元になるドメイン、たとえばnews.example.comのようなサブドメインを登録する。
ステップ2|DNS(ドメイン設定)を書き換える(30分)
Resendが表示するDNSレコードを、自分が使っているドメイン管理サービス(お名前.com、Cloudflare、Route53など)に追加する。追加するのは3種類。
- SPF(送信元IPを宣言する設定)
- DKIM(メール本文の改ざん防止署名)
- DMARC(上記2つの運用ポリシー)
Resendの画面に書かれている通りにコピペすれば動く。反映までは5分から長くて1時間。反映されたらResend側で緑のチェックがつく。
ここを飛ばすと、メールが届いてもGmailの迷惑メールフォルダに直行する。絶対にやってほしい。
ステップ3|登録者リストをエクスポートする(10分)
Mailchimpの管理画面から、登録者リストをCSV(表計算ファイル)で書き出す。メールアドレス、名前、登録日だけあれば十分だ。
このCSVをGoogle Sheetsに貼り付ける。これが当面の登録者データベースになる。500人くらいまではこれで全然問題ない。数千人規模になったらSupabase(無料で使えるデータベース)に移行する。
列は最低でも次の4つ。
- name
- subscribed_at(登録日)
- unsubscribe_token(配信停止用のランダム文字列)
unsubscribe_tokenは、Google Sheetsの関数でランダム生成できる。=LOWER(DEC2HEX(RANDBETWEEN(0, 4294967295), 8)) をコピーして貼ると、8桁のランダム文字列が作れる。各行に1つずつ入れる。
ステップ4|HTMLメールテンプレートを作る(1時間)
メールのHTML(Webページの記述言語)は、Webページと同じ感覚で書くと必ず崩れる。GmailやOutlookは古いHTMLしか解釈してくれないからだ。
テーブルレイアウトを使う。CSSはインラインで書く。これが鉄則だ。
最小のテンプレートはこうなる。
<!DOCTYPE html>
<html>
<body style="margin:0;padding:0;background:#f5f5f5;font-family:sans-serif;">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<table width="600" cellpadding="20" cellspacing="0" style="background:#ffffff;">
<tr><td>
<h1 style="font-size:20px;color:#222;">今週のニュース</h1>
<p style="font-size:16px;line-height:1.7;color:#444;">
本文がここに入る。
</p>
<p style="font-size:12px;color:#999;margin-top:40px;">
配信停止は
<a href="https://claudelab.jp">こちら</a>
</p>
</td></tr>
</table>
</td>
</tr>
</table>
</body>
</html>
{{token}}の部分は、送信時に各登録者のunsubscribe_tokenに置き換える。これで1人ひとりに固有の配信停止リンクを渡せる。
ステップ5|配信スクリプトを書く(1時間)
Node.js(JavaScriptの実行環境)で書く。ファイル名はsend.jsとでもしておく。
import { Resend } from 'resend';
import fs from 'fs';
const resend = new Resend(process.env.RESEND_API_KEY);
const template = fs.readFileSync('./template.html', 'utf-8');
const subscribers = JSON.parse(fs.readFileSync('./subscribers.json', 'utf-8'));
for (const user of subscribers) {
const html = template.replace('{{token}}', user.unsubscribe_token);
await resend.emails.send({
from: 'news@news.example.com',
to: user.email,
subject: '今週のニュース',
html,
});
await new Promise(r => setTimeout(r, 150));
}
最後のsetTimeoutは、1秒あたり10通以下に抑えるための待機だ。Resendの無料プランには1秒10通のレート制限がある。これを入れないと途中でエラーになる。
subscribers.jsonは、Google Sheetsからエクスポートしたリストを変換して作る。1回作れば使い回せる。
ステップ6|配信停止ページを作る(30分)
配信停止リンクを押した人が、実際に止められるページが必要だ。特定電子メール法で義務付けられている。
Next.jsで作るならapp/unsubscribe/page.tsxに短いページを置くだけでいい。URLに含まれるtokenを受け取って、データベースのフラグを更新する。Google Sheetsで管理している段階なら、受け取ったtokenをどこかのテーブルに記録して、次回配信時にそのtokenを持つ人を除外する。
ここで大事なのは、ワンクリックで止まること。フォーム入力や理由選択を挟むと、迷惑メール報告ボタンを押される確率が跳ね上がる。
ステップ7|開封率トラッキングの簡易版(30分)
開封率を測りたい場合は、1ピクセルの透明画像をメールの末尾に埋め込む手がある。
<img src="https://claudelab.jp" width="1" height="1" />
このURLにアクセスが来たら、データベースに「開封された」と記録する。API(外部と繋ぐ窓口)は10行くらいで書ける。
ただし、最近のメールクライアントは画像を自動ブロックする傾向が強い。開封率は参考程度と割り切ってほしい。Mailchimpでも精度は落ちているので、この自作版が特別に劣っているわけではない。
ステップ8|テスト配信(30分)
本番の前に、必ず自分宛てに3つのアドレスでテストする。Gmail、iCloudメール、もしあれば会社のOutlook。
- 迷惑メールに入っていないか
- 画像が表示されるか
- 配信停止リンクが動くか
- スマホで開いて崩れていないか
ここを丁寧にやるだけで、本番事故の9割は防げる。
よくある失敗・落とし穴
1つ目|いきなり全員に送る
最初のテスト配信で2,000人に送って、数十件の迷惑メール報告をもらい、以降Gmailに届かなくなる。これが一番多い事故だ。
最初の配信は、必ず自分と数人の知人だけに送る。次に50人くらいに送る。ここで問題がなければ全体配信に移る。段階を踏んでほしい。
2つ目|ドメイン認証を省略する
SPF、DKIM、DMARCの設定を飛ばすと、Gmailは高確率で迷惑メール扱いする。2024年頃からGmailとYahooがこの3点セットを事実上必須化した。
「とりあえず動いたからいいや」で放置すると、半年後に配信停止者が急増していて気づく。必ず最初に整えてほしい。
3つ目|登録者リストのバックアップを取り忘れる
Google Sheets1枚に全部入れていると、誤って行削除しただけで数千人の情報が消える。Google Sheetsのバージョン履歴はあるが、過信しない方がいい。
週1回でいいので、別のシートかローカルのCSVにコピーを取る習慣をつける。
4つ目|配信停止リンクを小さく隠す
小さく薄い色で配信停止リンクを置く人がいるが、これは逆効果だ。見つからない人は迷惑メール報告を押す。迷惑メール報告は配信停止の何倍もダメージがある。
堂々と、メールの末尾に普通の大きさで置いてほしい。
5つ目|Mailchimpを即解約する
移行して1回配信したくらいで、Mailchimpを解約してはいけない。少なくとも2、3ヶ月は並行して動かす。片方が壊れてもすぐ戻せる状態を保つ。
月に1万円払う価値は十分にある保険だ。完全に安定してから解約する。
6つ目|Resendの有料プラン切り替え忘れ
無料枠は月3,000通。これを超えると配信が止まる。登録者が増えて気づかず、ある日突然メルマガが届かなくなる。
月初に配信数の見通しを立てて、3,000通を超えそうなら先に20ドルのプランに上げておく。Resendの管理画面から1クリックで切り替わる。
明日からやる3つのこと
今のMailchimpの年間コストを計算する。月額×12で出す。これが移行のモチベーションになる。5万円を超えているなら、1日投資する価値は十分にある。
resend.comでアカウントを作って、自分宛てに1通テストメールを送ってみる。ここまでなら15分で終わる。「自分でもできる」という感覚を掴んでほしい。
次の週末の半日を、移行作業のためにカレンダーで予約する。やると決めた日を先に押さえないと、永遠に後回しになる。私自身がそうだった。
月に13万円、年間で10万円以上の固定費を削れる選択肢を、ひとり事業主が使わない手はない。浮いたお金で、もっと自分の事業に効く投資ができる。
道具は小さく、安く、自分で直せる状態に。これがひとりで事業を回す人の生存戦略だと、私は信じている。




