SMTPリレーとは?

SMTPリレーとは?仕組みと必要になるケース

要約:ChatGPTPerplexity

SMTPリレーは、WordPressのメールが受信トレイに届くか、消えるかを決定します。間違えると、領収書、パスワードリセット、フォーム通知が静かに消えてしまいます。

WordPressには独自のメールサーバーがありません。すべてのメッセージをホストが提供するものに渡します。それは通常、遅い、認証されていない、または完全にブロックされているものです。

以下で、SMTPリレーとは何か、ハンドオフの仕組み、使用するポートについて説明します。

また、wp_mail()が単独で失敗する理由も学びます。次に、Googleの2つのSMTPエンドポイントの違いと、リレーのテスト方法を説明します。始めましょう!

SMTPリレーとは?

SMTPリレーとは、メールを送信してくれるメールサーバーのことです。送信メッセージを受け取り、受信者のサーバーに転送します。

郵便局に手紙を出すようなものだと考えてください。ルートと評判がすでに確立されている配達員に手紙を渡します。

その評判が重要な部分です。リレーは、積極的に保護しているIPアドレスから送信します。メールにDKIM署名を行います。そして、GmailやOutlookと毎日交渉します。

ほとんどの人は、メールサービスプロバイダーからホストされたリレーを使用します。認証情報を取得し、サイトに接続すると、プロバイダーが配信を処理します。

SMTPリレーとSMTPサーバーの違いは何ですか?

SMTPサーバーは、メールを送受信し、ルーティングするソフトウェアです。SMTPリレーは、サーバーが行うジョブの1つです。信頼できる送信者から、所有していないドメインへのメールを転送します。

すべてのリレーはSMTPサーバーです。すべてのSMTPサーバーがあなたのためにリレーとして機能するわけではありません。

SMTPリレーSMTPサーバー
主な役割メールを他のドメインに転送するメールを送受信し、ルーティングする
方向送信のみ送受信
認証認証情報または信頼できるIPが必要果たしている役割による
誰が実行しているか通常はサードパーティプロバイダーあなたのホスト、プロバイダー、またはあなた自身
必要な場合サイトでメールを確実に送信する必要がある場合メールインフラストラクチャを実行している場合

注意:SMTPリレーはオープンリレーとは異なります。オープンリレーは、認証なしで誰でもメールを転送します。スパマーが長年悪用したため、メールプロバイダーはそれらを一目でブロックします。すべての正当なリレーには認証が必要です。

SMTPリレーの仕組み

SMTPリレーは5つのステップで機能します。サイトが接続し、暗号化し、認証します。次にメッセージを引き渡し、リレーが配信します。

シーケンスは次のとおりです:

  1. 接続。サイトは、リレーのホスト名に対して、サブミッションポートでTCP接続を開きます。
  2. 暗号化。接続はTLSにアップグレードされるため、認証情報は平文で送信されません。
  3. 認証。サイトは、パスワード、APIキー、または承認されたIPを使用して、自分が誰であるかを証明します。
  4. 転送。サイトは送信者と受信者を宣言し、ヘッダーと本文を送信します。
  5. キューに入れて配信。リレーはメッセージを受け取り、DKIM署名を行い、配信します。

WordPressサイトと受信者メールサーバーの間のSMTPリレーを示す図

引き継ぎの各ステップで何が起こるか?

ハンドオフはプレーンテキストの会話です。それを読むと、プロセス全体が理解できるようになります。ここでは、明確にするためにトリミングされた、リレーとの実際のSMTPセッションを示します。

220 smtp.example.com ESMTP ready
EHLO yoursite.com
250-smtp.example.com
250-STARTTLS
250 AUTH LOGIN PLAIN
STARTTLS
220 2.0.0 Ready to start TLS
AUTH LOGIN
235 2.7.0 Authentication successful
MAIL FROM:<[email protected]>
250 2.1.0 Sender OK
RCPT TO:<[email protected]>
250 2.1.5 Recipient OK
DATA
354 Start mail input
(message headers and body go here)
.
250 2.0.0 OK: queued as 4A2F1C
QUIT

数字で始まる各行は、リレーからの応答です。250コードは成功を意味し、235は資格情報が機能したことを確認します。

最後の250 2.0.0 OK: queued行が最も重要です。それ以前は、配信はあなたの問題です。それ以降は、リレーの問題です。

プロのヒント: キューIDを保存してください。顧客がメールが届かなかったと言う場合、キューIDがあればプロバイダーが何が起こったのかを追跡できます。

WordPressがSMTPリレーを必要とする理由

WordPressは独自のメールサーバーを持っていないため、SMTPリレーが必要です。デフォルトでは、メールをPHPに渡し、PHPはそれを署名も検証もされずにホストに渡します。

メールプロバイダーは、そのようなメッセージを疑わしいものとして扱います。あなたのドメインから送信されたという証明なしに届きます。多くの場合、数百のサイトと共有されているIPから送信されます。

デフォルトのWordPress PHPメールパスとSMTPリレーパスの比較

wp_mail()はデフォルトで実際に何をするのか?

wp_mail()はPHPMailerライブラリを使用してメッセージを構築します。その後、PHPのmail()関数を介して送信します。SMTP接続、ログイン、署名はありません。

そのデフォルトのパスは、4つの特定の点で失敗します。

  • 認証なし。メッセージがあなたのドメインから送信されたことを証明するものがありません。
  • DKIM署名なし。受信サーバーは、コンテンツが改ざんされていないことを検証できません。
  • エンベロープ送信者が一致しません。技術的な送信者があなたの「From」アドレスと一致しないことが多いため、SPFアライメントが失敗します。
  • 共有IPの評判。サーバー上の他のすべてのサイトの評判を引き継ぎます。

WP Mail SMTPのようなSMTPプラグインは、phpmailer_initにフックしてPHPMailerをSMTPに切り替えることでこれを修正します。そのフックが何をするかの核心は次のとおりです。

add_action( 'phpmailer_init', function ( $phpmailer ) {
    $phpmailer->isSMTP();                          // stop using PHP mail()
    $phpmailer->Host       = 'smtp.example.com';   // your relay hostname
    $phpmailer->Port       = 587;                  // submission port
    $phpmailer->SMTPSecure = 'tls';                // encrypt the connection
    $phpmailer->SMTPAuth   = true;                 // authenticate
    $phpmailer->Username   = getenv( 'SMTP_USER' );
    $phpmailer->Password   = getenv( 'SMTP_PASS' );
} );

警告: SMTP認証情報をテーマファイルやfunctions.phpに貼り付けないでください。テーマの更新で上書きされます。ファイルにアクセスできる人は誰でもそれらを読み取ることができます。環境変数または適切に保存するプラグインを使用してください。

共有ホスティングがこれを悪化させるのはなぜか?

共有ホスティングは、2つの理由でこれを悪化させます。ホストはメールに必要なポートをブロックし、送信IPを他のユーザーと共有します。

スパム送信者の隣人が共有IP範囲全体をブロックリストに載せられたのを見たことがあります。無関係なサイトが多数それに巻き込まれました。

ほとんどのホストは、その悪用を停止するためにアウトバウンドポート25をブロックします。一部のホストは、メールを1時間あたり数百通に制限します。他のホストは、PHPが送信しようとするものをサイレントにドロップします。

リレーはそれらすべてを回避します。あなたのメールは、ホストがブロックしないポート上の認証された接続を介して送信されます。送信IPは、それを保護するプロバイダーのものです。

WordPressメールを今すぐ修正する

SMTPリレーが必要になるのはいつか?

あなたのサイトが誰かが待っているメールを送信するようになったら、SMTPリレーが必要です。パスワードリセット、領収書、フォーム通知はすべて該当します。

これらの場合はセットアップしてください。

  • あなたのサイトがトランザクションメールを送信する場合
  • WordPressからのテストメールが失敗するか、届かない場合
  • あなたのメールが受信トレイではなくスパムフォルダーに着信する場合
  • 共有ホスティングを使用しており、ポート25が通常ブロックされている場合
  • メッセージが送信されたことを証明するために配信ログが必要な場合
  • 1日に数十通以上のメッセージを送信する場合

ごくまれなケースでは、リレーをスキップできます。サイトが完全に静的な場合、何も送信する必要はありません。フォームもアカウントもストアもありません。

注意:単一の連絡フォームでもカウントされます。訪問者がフォームに入力し、返信を期待した瞬間、認証されていないメールはビジネスにとって現実的なリスクとなります。

どのSMTPリレーポートを使用すべきか?

STARTTLSを使用したポート587を使用してください。これは標準のサブミッションポートであり、暗号化されており、ホストがブロックすることはめったにありません。

ポート暗号化次の場合に使用します共有ホスティングでブロックされていますか?
587STARTTLSほぼ常に。デフォルトの選択肢です。めったにありません
465暗黙的TLSプロバイダーまたはホストが推奨しています時々
2525STARTTLS587と465の両方がブロックされていますめったにありません
25通常はありませんサーバー間リレーのみ。サイト用ではありません。ほぼ常に

ポート587はRFC 6409で定義されているメッセージサブミッションポートです。ポート465は暗黙的なTLSを使用するため、コマンドが送信される前に暗号化が開始されます。RFC 8314で文書化されています。

ポート2525はどのRFCにも含まれていません。プロバイダーは非公式のフォールバックとして提供しており、ファイアウォールは通常これを無視するため機能します。

注意:ポート25は依然として重要ですが、あなたにとっては重要ではありません。リレーは互いに通信するためにそれを使用します。あなたのサイトはそれを使用して送信すべきではなく、ホストはおそらくすでにそれをブロックしています。

smtp-relay.gmail.comとsmtp.gmail.comの違いは何ですか?

これらは2つの別個のGoogleサービスであり、認証方法が異なります。smtp-relay.gmail.comは、アプリやデバイス向けのGoogle Workspaceリレーです。smtp.gmail.comはGmail SMTPサーバーであり、1つのメールボックスとして送信します。

これらを混同することが、私が目にする最も一般的なGoogle SMTPの間違いです。

smtp-relay.gmail.comsmtp.gmail.com
用途ドメインの代理で送信するアプリ、サイト、デバイス単一のGmailまたはWorkspaceメールボックスとして送信
Workspaceが必要ですか?はいいいえ
認証方法承認されたIPアドレス、またはSMTP認証情報メールボックス認証情報のみ
として送信確認済みのドメイン上の任意のメールアドレスそのメールボックスアドレスのみ
送信制限より高く、ワークスペースアカウントごとに設定より低く、メールボックスごとに設定

リレーエンドポイントはIP範囲またはドメインで認証します。これは多くのメールアドレスのために送信するサーバーに適しています。Gmailエンドポイントは、各メッセージを1つのメールボックスログインに紐付けます。

Googleは、SMTPリレーガイドで現在の制限を文書化しています。Googleはこれらの上限を調整するため、ブログ記事の数字を信頼するのではなく、そちらを確認してください。

重要:無料のGmailアカウントでは、リレーエンドポイントは利用できません。これはGoogle Workspaceの機能です。Googleの唯一の選択肢は、より低い制限を持つsmtp.gmail.comです。

SMTPリレーは廃止されますか?

いいえ。SMTPリレーは廃止されず、Googleのリレーサービスは引き続き完全にサポートされています。

混乱は、人々が半分覚えている実際の変更から生じています。GoogleはWorkspaceアカウントの「安全性の低いアプリ」のサインイン方法を廃止しました。

その変更により、通常のメールパスワードでログインする方法が1つなくなりました。SMTPリレーが削除されたわけではありません。最新のリレーは、代わりにアプリパスワード、OAuth、APIキー、または承認済みIPで認証します。

Microsoftでも同様のパターンが見られ、SMTPの基本的な認証を廃止してきました。ここでも、プロトコルは残り、弱いログイン方法がなくなりました。

WordPressサイトでSMTPリレーを設定する方法

4つのステップでSMTPリレーを設定します。プロバイダーを選択し、ドメインを確認します。次に、SMTPプラグインをインストールし、認証情報を追加します。

開始する前に必要なものは?

まず、これらを集めます:

  • 送信元のドメイン(無料のGmailやYahooアドレスではないもの)
  • SPFとDKIMのためのDNSレコードへのアクセス
  • SMTPリレープロバイダーのアカウント
  • WordPressサイトへの管理者アクセス

次に、これらを進めます:

  1. リレープロバイダーを選択します。プランは、最良のシナリオではなく、実際の月間送信量に合わせてください。
  2. 送信ドメインを確認します。プロバイダーから追加するDNSレコードが提供されます。それらを追加することで、リレーがあなたとしてメールに署名できるようになります。
  3. SMTPプラグインをインストールします。プラグイン » 新規追加に移動し、WP Mail SMTPプラグインを検索して、今すぐインストール、次に有効化をクリックします。
  4. リレーの詳細を入力します。プロバイダーから提供されたホスト、ポート、暗号化タイプ、および認証情報を追加します。

SMTPホスト、ポート、暗号化フィールドを示すWP Mail SMTP設定ページ

WP Mail SMTPは、セットアップウィザードでステップ3と4を処理します。また、主要なプロバイダー向けの組み込みメーラーも付属しています。生のSMTP詳細を入力するよりも、メーラーを選択する方が優れています。ホストとポートは自動的に入力されます。

プロのヒント:WP Mail SMTPには、SendLayerやBrevoなど、メールをセキュアなAPI経由でルーティングする複数のメールプロバイダーが含まれています。WordPressのメールには、SMTPよりも専用メーラーを使用することをお勧めします。詳細については、利用可能なメールプロバイダーとそのWordPressでの設定方法のリストをご覧ください。

SMTPリレーが機能していることを確認する方法

テストメールを送信し、メッセージヘッダーを読みます。3つのパスが必要です:承認、SPF、DKIM。

WP Mail SMTPには、SMTPおよびメーラー接続をテストするためのテストメール機能が含まれています。テストメールを送信するには、 WP Mail SMTP » ツール に移動し、 メールテスト タブを開きます。宛先フィールドに受信者のメールアドレスを入力します。

テストメールを送信する

完了したら、メール送信ボタンをクリックします。設定が正しければ、成功!というメッセージが表示されます。

Amazon SES メーラーを使用した WP Mail SMTP からのテストメール送信

「送信成功」と表示されるだけのテストでは不十分です。これはリレーがメッセージを受け付けたことを確認するだけで、実際の受信トレイが受け付けたことを確認するものではありません。

WP Mail SMTP メールテストタブにテスト成功の結果が表示されています

受信したテストメールを開き、元のメッセージを表示して、以下を確認してください。

  • Received: はリレーのホスト名を示します。 PHPではなく、リレーを経由してメールが送信されたことを確認します。
  • spf=pass DNSがリレーにあなたのドメインからの送信を許可していることを示します。
  • dkim=pass メッセージに有効な署名が付いています。
  • dmarc=pass SPFまたはDKIMがFromドメインと一致しています。

テストが失敗した場合、原因はほぼ常に3つのうちの1つです。

  1. ポートまたは暗号化の間違い。 ポート587(STARTTLS)を試してから、ポート465(TLS)を試してください。
  2. 認証情報の拒否。 アプリパスワードまたはAPIキーを再生成して、再入力してください。
  3. ホストが接続をブロックしています。 アウトバウンドSMTPがフィルタリングされているかどうかをホストに確認し、ポート2525を試してください。

警告:テストが成功しても、Gmailでの受信トレイ配置が保証されるわけではありません。Gmail、Outlook、Yahooの実際のメールアカウントにテストメッセージを送信してください。それぞれが受信トレイに届くか、スパムフォルダに届くかを確認してください。

よくある質問

無料のSMTPリレーはありますか?

はい。ほとんどのリレープロバイダーは無料枠を含んでいます。月あたり数百通から数千通のメッセージを期待できます。無料プランは、小規模サイトのフォーム通知や領収書には十分です。一部のリレーではDKIM署名とログが削除されることがあるため、無料枠にそれらが含まれているか確認してください。

Office 365はSMTPリレーを許可していますか?

はい。Microsoft 365は2つの方法でSMTPリレーをサポートしています。認証済みクライアント送信にはsmtp.office365.comを使用するか、大量送信の場合はコネクタを使用します。Microsoftは基本的な認証を廃止しているため、モダン認証またはアプリパスワードを使用してください。

SMTPリレーは安全ですか?

SMTPリレーは、デフォルトのWordPressメールパスよりも安全です。TLSで接続を暗号化し、認証を要求し、DKIMでメールに署名します。ポート587または465を使用してください。認証情報はテーマファイルの外に保存し、侵害が発生した場合はローテーションしてください。

SMTPリレーで送信できるメールの数は?

制限はプロバイダーとプランによって異なります。無料プランは月あたり数百通です。有料プランは数百万通に達します。リレーは月ごとの上限だけでなく、送信レートも強制します。大量送信の前に両方を確認してください。

SMTPリレーを使用する場合でもSPFとDKIMは必要ですか?

はい、そしてそれらはより重要になります。リレーがあなたのドメインとして署名できるのは、DNSがそれを許可している場合のみです。プロバイダーから提供されたSPFおよびDKIMレコードを追加してください。両方がパスしたら、DMARCレコードを追加してください。

次に、WordPressのSMTP設定を設定します

リレーの仕組みがわかったところで、次のステップはそれをあなたのサイトに組み込むことです。私たちのWordPress SMTP設定ガイドでは、正確なフィールドとメーラーオプションを説明しています。また、メールがスパムにならないようにするための設定についても説明しています。

WordPressメールを今すぐ修正する

メールの修正準備はできましたか?今日から始めましょう WordPressの最高のSMTPプラグインで。メールを修正する時間がない場合は、追加購入で完全なWhite Glove Setupアシスタンスを利用でき、すべての有料プランで14日間の返金保証が付いています。

この記事がお役に立った場合は、WordPressのヒントやチュートリアルについては、FacebookとTwitterでフォローしてください。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、手数料が発生する可能性があることを意味します。WPFormsがどのように資金調達されているか、なぜそれが重要なのか、そしてどのように私たちをサポートできるかをご覧ください。

デビッド・オゾコイェ

DavidはWP Mail SMTPのテクニカルライターです。彼はWP Mail SMTPプラグインの新機能とアップデートをテストし、文書化しています。コンピューターから離れているときは、ビデオゲームやローラースケートを楽しんでいます。 詳細はこちら

無料のWP Mail SMTPプラグインをお試しください

お気に入りのSMTPプロバイダーを使用して、WordPressのメールを確実に送信してください。