PR
SERVER

VPS移行で悩ましいメール問題をCloudflare+SMTP2GOで解決する方法。独自ドメイン受信とWordPress送信の分け方

VPS移行でハマるメール問題をCloudflare+SMTP2GOで解決する方法 SERVER

WordPressを共用サーバーからVPSへ移すとき、最初に悩みやすいのが「メールサーバーをどうするか」という点です。Webサイト本体はVPSへ移せても、メールまで同じように移すべきかは別問題だからです。実際には、VPS上にメールサーバーを立てる、共用サーバーのメール機能だけ残す、さくらのメールボックスのような専用メールボックスを使う、SMTP2GO、Brevo、Amazon SES のような送信サービスを使う、といった選択肢があります。

私の結論としては、WordPressのVPS移行で VPS上にPostfixやDovecotでフルのメールサーバーを立てるのは、あまりおすすめしていません。受信と送信を分けて設計したほうが、到達率、メンテナンス性、トラブル時の切り分けのしやすさで有利だからです。Google Workspace や Microsoft 365 を含め、選択肢は複数ありますが、まずは「人が読む受信箱」と「WordPressが送る通知メール」を分けて考えると整理しやすくなります。

  • メールの選択肢を先に整理できる。
  • 送信件数と受信アカウント数で、どれを選ぶか判断しやすくなる。
  • Cloudflare Email Routing と SMTP2GO をどう使い分けるか分かる。
  • SMTP2GO、Brevo、さくらのメールボックス、Amazon SES の使い分けを整理できる。
  • 切替前の送受信テストと、よくある失敗の見直しポイントが分かる。

先に結論

WordPressをVPSへ移すときのメール設計は、受信と送信を分けて考えるのが基本です。受信は [email protected] や [email protected] に来たメールをどこで受けるか、送信は WordPress の通知メールやフォーム通知をどのSMTP経由で出すか、という別の問題だからです。

この2つを一台のVPSでまとめて解決しようとすると、Postfix、Dovecot、逆引き、スパム対策、証明書更新、キュー監視まで管理対象に入ってきます。そうなると、Webサイト移行よりメール運用のほうが重くなりがちです。一般的なコーポレートサイト、ブログ、LP、会員登録が少ないWordPressなら、受信は Cloudflare Email Routing、送信は SMTP2GO、必要なら普段使いの受信箱は Gmail や Outlook、または別のメールボックスサービスに残す構成が扱いやすいでしょう。

  • Cloudflare Email Routing は受信転送向けです。
  • Cloudflare は送信用SMTPサーバーではありません。
  • SMTP2GO は送信向けで、受信用IMAPやPOPは持ちません。
  • チームで実際の受信箱を使いたいなら、メールボックスサービスを別に用意するほうが分かりやすいです。
  • WordPressの通知メールは、PHPの mail() 任せにせず、SMTPプラグイン経由で送るほうが安定します。

まずは選択肢を整理する

メールまわりの設計は、大きく分けると次の6パターンです。ここを最初に分けておくと、「受信箱が必要なのか」「WordPressの通知メールだけ安定すればよいのか」が見えやすくなります。

選択肢受信送信料金目安メンテナンス性向いているケース
VPS上にメールサーバーを立てるできるできるVPS代+運用工数低いメール基盤そのものを自前で持ちたい場合
共用サーバーのメール機能だけ残すできるできる既存契約に含まれることが多い高い移行直後の暫定運用や、メールだけ現行契約を残す場合
Cloudflare Email Routing + SMTP2GO など転送で対応できるCloudflare 無料 + SMTP2GO 無料〜高いWordPress通知と少数アカウントの受信を分けたい場合
さくらのメールボックスできるできる月額88円〜高い実際の受信箱を複数人で運用したい場合
Google WorkspaceできるできるBusiness Starter で月額800円 / ユーザー〜高いGmail中心で組織運用したい場合
Microsoft 365できるできるBusiness Basic で月額899円 / ユーザー〜高いOutlook / Teams中心で組織運用したい場合

※料金は 2026年3月29日時点 の公式表示をもとにした目安です。契約形態や為替、各サービスの改定で変わることがあります。

WordPressのVPS移行では、この中から 受信 と 送信 を分けて選ぶと、構成を整理しやすくなります。たとえば、受信は Cloudflare Email Routing で転送し、送信は SMTP2GO に寄せる、といった組み合わせができます。反対に、実際の受信箱を複数人で使うなら、最初からメールボックスサービスや Google Workspace / Microsoft 365 を選ぶほうが運用しやすいでしょう。

なぜVPS移行でメールが問題になるのか

共用サーバーでは、Webとメールが最初から一体で用意されていることが多いです。そのため、WordPressを動かしている間は、同じ契約の中で SMTP、POP、IMAP、迷惑メール対策、DKIM まで隠れて支えられています。ところがVPSへ移ると、Webサーバーだけを自分で立てる構成になりやすく、メールの受信や送信まで自動では引き継がれません。

特に困りやすいのは、サイトのフォーム通知やユーザー登録メールは「送信」、[email protected] 宛ての問い合わせは「受信」というように、片方だけ生きていても運用できない点です。Webの動作確認では見えにくいため、DNS切替後に気づきやすいのがメールまわりです。

WordPressの通知メールと普段使いの受信箱は別物

WordPressで本当に必要なのは、まず wp_mail() が安定して送れることです。パスワード再設定、フォーム通知、注文通知、会員登録確認などがここに含まれます。一方で、普段の業務で [email protected] を Outlook や Gmail で読みたいなら、それはIMAPやPOPを含むメールボックスの問題です。

この2つを混ぜると、WordPress通知のためだけにフル機能のメールサーバーまで抱える形になりやすくなります。まずは「サイトから送るメール」と「人が読む受信箱」を分離して考えると、必要なものが見えやすくなります。

自前メールサーバーをVPSで持つと管理対象が一気に増える

  • Postfix などのMTA設定
  • Dovecot などの受信サーバー設定
  • 25番、465番、587番、993番などのポート設計
  • SPF、DKIM、DMARC、逆引きの整合性
  • 迷惑メール判定やブラックリスト対策
  • 証明書更新、ログ監視、キュー監視、障害対応
  • メールデータのバックアップと容量管理

このあたりは、メール基盤そのものを持つ場合には避けられません。逆に言うと、WordPressサイトの移行が主目的であれば、ここまで背負わない構成に寄せたほうが現実的です。

おすすめの構成は Cloudflare で受信、SMTP2GO で送信

受信
example.com の MX
  ↓
Cloudflare Email Routing
  ↓
Gmail / Outlook / 既存の受信箱 / 別メールボックスサービス

送信
WordPress
  ↓
Fluent SMTP などのSMTPプラグイン
  ↓
SMTP2GO
  ↓
ユーザーや管理者の受信箱

この構成の良いところは、受信と送信を別々に切り分けられることです。Cloudflare Email Routing は受信したメールを転送する役割に寄せ、SMTP2GO は WordPress やメールクライアントからの送信に使います。メールボックスそのものをVPS上で持たずに済むため、IMAPやPOPの運用負荷を増やさずに済みます。

役割おすすめ補足
受信Cloudflare Email Routing独自ドメイン宛てメールを既存の受信箱へ転送する構成向けです。
送信SMTP2GOWordPress通知やフォーム通知をSMTPリレーで安定させやすいです。
実際の受信箱Gmail、Outlook、さくらのメールボックスなどCloudflare Email Routing 自体はIMAP/POPの受信箱ではありません。
自前メールサーバーあまりおすすめしないPostfix、Dovecot、逆引き、監視まで自分で持つ前提になります。

Cloudflare は受信転送専用

Cloudflare の公式ドキュメントでは、Email Routing は独自ドメイン宛てのメールを別の受信箱へ転送する仕組みとして案内されており、Cloudflare 自身は送信用SMTPサーバーを提供していません。また、Cloudflare でDNS管理しているドメインで利用する前提です。

そのため、Cloudflare だけで送受信を完結させることはできません。Cloudflare Email Routing は「受信を別の受信箱に渡す仕組み」と理解すると整理しやすいです。

SMTP2GO は送信専用

SMTP2GO の公式サポートでも、SMTP2GO は送信用のSMTP設定を提供するサービスとして案内されており、受信側のIMAPやPOPは自分のメールボックス側を使う前提です。つまり、Cloudflare で受信を転送し、SMTP2GO で WordPress から送信する組み合わせは、役割分担が分かりやすい構成です。

Cloudflare Email Routing の設定で押さえたい点

  • Cloudflare でDNS管理しているドメインで設定する
  • Email Routing を有効化すると、必要な MX と TXT が自動追加される
  • 転送先アドレスは事前に検証が必要
  • 同じカスタムアドレスに対しては、標準機能では転送先を1つだけ持つ設計です
  • 既存の MX を残したままでは有効化できない
  • 添付ファイルサイズには上限があり、大きなメール転送には向きません

Cloudflare の公式ドキュメントでは、Email Routing を有効化すると必要な MX と TXT が自動で追加されます。一方で、同じドメインに他のメールサービスの MX が残っていると有効化できません。つまり、Cloudflare Email Routing を使うドメインでは、受信の主導権を Cloudflare 側へ寄せる必要があります。

また、標準機能では1つのカスタムアドレスにつき1つの転送先が基本です。複数宛先へ同時転送したい場合は Workers を使う分岐が必要になります。加えて、Cloudflare Email Routing のメッセージサイズ上限は 25 MiB なので、大きな添付ファイルをよく扱う用途では、転送ベースの構成が合わないこともあります。

Cloudflare 側で作るアドレスの考え方

Cloudflare Email Routing では、独自ドメイン宛てのアドレスごとに転送ルールを作ります。たとえば次のように役割を分けておくと、後から見直すときに迷いにくくなります。

  • [email protected] : 会社やサイトの代表窓口。一般的な問い合わせを受ける
  • [email protected] : 問い合わせフォームの返信先や連絡用窓口。フォーム関連のやり取りをここに寄せる
  • [email protected] : WordPressの自動通知専用。会員登録確認、パスワード再設定、注文通知などを送る
  • [email protected] : DMARCレポート受信用。普段読むアドレスとは分けておくと整理しやすい

たとえば、ユーザー登録メールや注文通知は [email protected] から送り、問い合わせフォームの返信先は [email protected] にしておく、という形です。こうしておくと、「送信設定の問題なのか」「人が確認する窓口の問題なのか」を切り分けやすくなります。特に会員登録やEC通知があるサイトでは、この分け方が役立ちます。

SMTP2GO と WordPress の設定の流れ

SMTP2GO 側では、まず送信元ドメインを Verified Sender として登録します。公式サポートでは、2025年4月11日以降は Verified Sender の登録が送信に必須と案内されています。送信ドメインを登録すると、DNSに追加する3つの CNAME が表示され、SMTP2GO 側で SPF と DKIM を扱う前提になります。

  • SMTP2GO にアカウントを作成する
  • Sending > Verified Senders > Sender domains でドメインを追加する
  • 表示された3つの CNAME を DNS に追加する
  • Sending > SMTP Users で SMTP ユーザーを作る
  • WordPress に SMTP プラグインを入れて接続する
  • 送信テストと到達確認を行う

WordPress 側のSMTP設定例

SMTPプラグインは定番として WP Mail SMTP がよく使われますが、私自身は Fluent SMTP を使うことが多いです。無料でメールログを確認でき、複数のSMTP設定を持てて、動作も比較的軽いためです。もちろん WP Mail SMTP でも問題ありませんが、まず試すなら Fluent SMTP が扱いやすいでしょう。

SMTP Host: mail.smtp2go.com
SMTP Port: 587
Encryption: TLS / STARTTLS
Authentication: On
SMTP Username: SMTP2GO の SMTP User
SMTP Password: SMTP2GO の SMTP Password
From Email: [email protected]
Force From Email: On

SMTP2GO の公式サポートでは、SMTP サーバーは mail.smtp2go.com、TLS系のポートとして 587、2525、8025 などが案内されています。WordPressではまず 587 の STARTTLS を試すのが無難です。VPSから25番で直接送る設計にすると、環境によっては制限や評価の問題にぶつかりやすいため、SMTPリレーを素直に使うほうが安定します。

メールクライアントから送る場合の考え方

人が [email protected] として送信したい場合は、普段使っているメールクライアントや Gmail の「名前を付けてメールを送信」に SMTP2GO を設定する方法もあります。ただし、日常の送受信を本格運用するなら、SMTP2GO を送信専用と割り切り、受信箱は Google Workspace の Gmail や Outlook、または別のメールボックスサービスで持つほうが混乱しにくいです。

MX、SPF、DKIM、DMARC の考え方

メール系DNSは、全部を丸暗記する必要はありません。VPS移行で最低限押さえたいのは、MX は受信先、SPF は送信許可、DKIM は電子署名、DMARC は受信側への判定ルール、という役割です。受信と送信を別サービスに分けると、この役割分担が見えやすくなります。

レコード役割今回の構成での考え方
MX受信先を示すCloudflare Email Routing 側の設定を使います。
SPF送信を許可する送信元を示すSMTP2GO の Verified Sender 設定に従います。
DKIM送信メールへ署名するSMTP2GO の CNAME 設定で整える前提です。
DMARCSPF/DKIMに失敗したメールの扱いを示す自分でTXTを追加し、最初は緩めに監視から始めると安全です。

DMARC の最初の設定例

Host: _dmarc.example.com
Type: TXT
Value: v=DMARC1; p=none; rua=mailto:[email protected]; fo=1; adkim=s; aspf=s

最初から p=reject にすると、整合していない送信まで落としてしまうことがあります。はじめは p=none でレポートを受け、実際の送信経路を確認してから段階的に厳しくするほうが安全です。

SPF は重複させないほうが安全

SPF は TXT レコードを複数に分けてしまうと整合が崩れやすいため、1本にまとめて管理するのが基本です。Cloudflare Email Routing 側は受信転送で、SMTP2GO 側は Verified Sender で SPF と DKIM を扱う前提なので、手で別の SPF を足しすぎないようにしてください。既存サービスから移行する際は、古い送信サービスの SPF が残っていないかを確認して整理します。

送信と受信の選び方

ここでは、到達率、メンテナンス性、送信件数、受信アカウント数を基準に整理します。なお、到達率の見込みは公式が保証する数値ではなく、SPF、DKIM、DMARC を適切に整えた前提での実務上の目安です。

送信サービスの選び方

サービス送信件数の目安料金目安到達率の見込みメンテナンス性向いているケース
SMTP2GO月1,000件以内無料(1,000通 / 月) / Starter $10 / 月〜高め高いWordPress通知やフォーム通知を小規模に安定させたい場合
Brevo1日300件以内無料(1日300通)高め高い無料枠で試したい、配信基盤も寄せたい場合
さくらのメールボックス15分で100通前後までを目安にした小規模運用月額88円〜中〜高高い受信箱も持ちつつ、ほどほどの通知送信もまとめたい場合
Amazon SESそれ以上の送信量や多数会員向け配信送信 $0.10 / 1,000通高め中程度件数が増える、またはコスト効率を優先したい場合
VPS自前メールサーバーあまりおすすめしないVPS代+運用工数構成次第低いメール基盤そのものを自前で運用したい場合だけ

無料枠ベースで見ると、SMTP2GO は月1,000通まで無料、Brevo は1日300通まで無料です。さくらのメールボックスは月額88円から受信箱ごと持てるので、小規模案件ではコストが読みやすい選択肢です。さらに件数が増える、会員向け配信や大量通知が見えてくるなら、1,000通あたり 0.10 ドルの Amazon SES を前提に考えたほうが伸ばしやすいでしょう。

私の使い分け

私自身は、送信まわりでは SMTP2GO、さくらのメールボックス、Amazon SES を使い分けています。小規模な WordPress 通知は SMTP2GO、受信箱も含めてまとめたい案件は さくらのメールボックス、会員数が多い配信や件数が伸びそうな案件では SES を選ぶことが多いです。Brevo は無料で試しやすい一方、無料プランではフッターロゴが入るため、案件の性質を見ながら使い分けています。

受信の選び方

受信方法向いているケース料金目安メンテナンス性補足
Cloudflare Email Routingメールアカウントが少数、自分だけ、または少人数で使う場合無料高い転送先アドレスの初回認証が必要です。
さくらのメールボックスメールアカウントが多い、複数クライアントで使う場合月額88円〜高い実際の受信箱を持てるため、案内や運用が分かりやすいです。
Google WorkspaceGmail で運用したい組織やクライアント案件Business Starter で月額800円 / ユーザー〜高いGmail、Drive、Meet までまとめて使えます。
Microsoft 365Outlook や Teams で運用したい組織やクライアント案件Business Basic で月額899円 / ユーザー〜高いOutlook、Teams、OneDrive までまとめて使えます。
共用サーバーのメール機能だけ残す移行直後の暫定運用、既存メールを急に動かしたくない場合既存契約に含まれることが多い中〜高Webとメールの契約が分かれる点を把握しておく

受信については、メールアカウントが少ない、または自分だけで使うなら Cloudflare Email Routing の転送で十分なことが多いです。反対に、メールアカウントが多い、クライアントごとに初回認証の説明をするのが大変、メールソフト設定まで含めて分かりやすくしたい、という場合は さくらのメールボックスのようなサービスのほうが運用しやすいです。また、クライアントがすでに Gmail や Outlook / Teams を標準利用しているなら、Google Workspace や Microsoft 365 を選ぶほうが説明コストを下げられることもあります。

つまり、送信は件数、受信はアカウント数と運用負荷で選ぶと整理しやすくなります。WordPress移行で毎回悩みやすいのはこの切り分けなので、最初にここを決めておくと後半のDNS設定もぶれにくくなります。

切替前にやっておきたい送受信テスト

  • [email protected] 宛てに外部からメールを送り、転送先へ届くか確認する
  • WordPress のSMTPプラグインからテストメールを送る
  • 問い合わせフォーム通知、パスワード再設定、WooCommerce 注文通知など実運用に近い導線を試す
  • 自分の Gmail などに送って受信し、「メッセージのソースを表示」や「原文を表示」で dkim=pass、spf=pass、dmarc=pass の文字列があるか確認する
  • 返信先アドレスが想定どおりになっているか確認する
  • DNS切替前後で、旧メール構成と競合していないか見直す

サイト移行全体の流れは WordPressサーバー移行の全手順、ドメイン切替の進め方は ドメインそのまま安全に切り替える方法 で整理しています。メールだけは別工程として切り出して確認するのが安全です。

よくあるトラブルと対処

Cloudflare を設定したのにメールが届かない

Cloudflare Email Routing 側の Destination address が未検証のまま、または既存の MX が残っているケースが多いです。Cloudflare の設定画面でルールの状態と DNS レコードの状態を確認してください。同じドメインに別メールサービスの MX が残っていると、Cloudflare 側が有効になりません。

WordPress のテストメールだけ送れない

SMTPホスト、ポート、暗号化方式、ユーザー名、パスワードの不一致が多いです。SMTP2GO 側は mail.smtp2go.com を使い、まず 587 の TLS で確認すると切り分けしやすいです。プラグイン側がまだ PHP mail を使っているケースもあるため、強制的に SMTP を使う設定になっているかも見直します。

Gmail では受信するのに迷惑メールへ入る

From ドメインの認証が揃っていない、DMARC の整合が弱い、本文や差出人名が機械的すぎる、といった原因が考えられます。まずは SPF、DKIM、DMARC の結果を見直し、送信元アドレスと実際の送信経路が揃っているか確認してください。

大きな添付ファイルがうまく転送されない

Cloudflare Email Routing にはメッセージサイズ上限があります。添付ファイルが大きい運用では、転送ベースより実際のメールボックスサービスのほうが合うことがあります。問い合わせフォームに大容量添付を許可しているなら、この点は事前に確認しておきたいところです。

自前の Postfix に切り替えたくなった

社内要件や独自運用の都合で自前メール基盤が必要になることもあります。ただし、その場合は Web サイト移行とは別に、Postfix、Dovecot、逆引き、監視、バックアップ、障害対応の運用設計まで用意したほうが安全です。WordPress移行の延長線で軽く持つには少し重い領域です。

よくある質問

POPサーバーとSMTPサーバーは同じか

同じではありません。SMTP は送信、POP や IMAP は受信のための仕組みです。WordPress通知メールだけを安定させたいなら、まず必要なのは SMTP 側です。

VPSにメールサーバーを立てないと独自ドメインで送れないか

その必要はありません。SMTPリレーサービスを使えば、独自ドメインの差出人で送る構成は十分作れます。VPSへフルメールサーバーを立てるのは、あくまで別の選択肢です。

Cloudflare だけで送受信の両方ができるか

できません。Cloudflare Email Routing は受信転送向けで、送信用SMTPサーバーは提供していません。送信は SMTP2GO や Brevo、Amazon SES など別のSMTPサービスが必要です。

どんなときに さくらのメールボックス のようなサービスが向くか

実際の受信箱を複数人で使いたい、POPやIMAPで同期したい、ウェブメールも使いたい、という場合です。転送だけでは足りず、メールそのものを業務基盤として持ちたいなら、メールボックスサービスのほうが扱いやすいです。

DNS設定と送受信テストまで含めた完全版はこちら

この記事では、VPS移行時のメール設計を「受信」と「送信」に分けて整理しました。実際に切り替える場合は、Cloudflare Email Routing、SMTP2GO、FluentSMTP、SPF / DKIM / DMARC、送受信テスト、よくある失敗の切り分けまで、作業順に確認できる形にしておくと安全です。

具体的な設定手順まで追いたい場合は、noteの VPS移行メール問題の完全解決ガイド【Cloudflare Email Routing + SMTP2GO + FluentSMTPで受信も送信も完璧に】 を確認してください。

まとめ

VPS移行でメールが難しく見えるのは、Webとメールを一台でまとめて考えがちだからです。WordPress中心のサイトなら、受信は Cloudflare Email Routing、送信は SMTP2GO のように分けると、設定も保守もかなり軽くできます。

もし必要なのが WordPress の通知メールだけなら、フルのメールサーバーをVPSへ立てる前に SMTP リレーで足りるかを先に見直してみてください。反対に、実際の受信箱、IMAP、POP、チーム運用が必要なら、さくらのメールボックスや Google Workspace のような別サービスを用意するほうが運用しやすいでしょう。サーバー移行全体は WordPressサーバー移行の全手順、ドメイン切替は ドメインそのまま安全に切り替える方法、DNS確認は DNSが更新されたかどうかの確認方法 もあわせて確認してみてください。

この記事を書いた人
Naokazu Yokoo

エンジニア歴20年以上。現在はWeb / AI領域で活動中。
開発環境・サーバー環境ともに速度と効率性を追求しています。

Follow Naokazu Yokoo
Follow Naokazu Yokoo

Comment

タイトルとURLをコピーしました