SMTPエラー:SSL証明書の検証に失敗しました

要約:ChatGPTPerplexity

注意:このガイドは、WP Mail SMTP の その他の SMTP メーラー に適用されます。

このエラーの意味

PHPはSMTPサーバーのSSLまたはTLS証明書を検証できませんでした。接続はサーバーに到達しましたが、証明書が期限切れ、自己署名、または不完全な証明書チェーンを持っているため、暗号化されたハンドシェイクが失敗しました。証明書の СУММА を解決するまで、サイトからメールは送信されません。

一般的な原因

  • 自己署名証明書を使用したセルフホスト型メールサーバー
  • メールサーバーのSSL証明書が期限切れです
  • TLS(ポート587)のみをサポートするサーバーでSSL暗号化(ポート465)を使用するか、その逆を行う
  • WordPressホスティングサーバー上の古いCA証明書バンドル

解決方法

エラーを解決するための完全なステップバイステップガイドを以下に示します。

ステップ1:SSLからTLSに切り替える(またはその逆)

暗号化タイプとポートの不一致が最も一般的な原因です。別の組み合わせを試してください。

まず、WP Mail SMTP » 設定に移動し、その他のSMTPセクションまでスクロールします。

その他のSMTPメーラー

次に、暗号化TLSに、SMTPポート587に設定します。設定の保存をクリックします。

SMTP暗号化タイプを設定する

修正を確認するには、WP Mail SMTP » ツールに移動し、メールテストタブをクリックして、メールを送信をクリックします。

テストメールタブ

エラーが解消された場合は、完了です。ただし、エラーが続く場合は、ポート465のSSLの組み合わせを試してください。WP Mail SMTP » 設定に戻り、暗号化SSLに、SMTPポート465に設定してから、設定の保存をクリックし、別のテストメールを送信してください。

上記いずれの方法でもサイトのエラーが解決しない場合は、ステップ2に進んでください。

ステップ2:セルフホスト型メールサーバーに有効な証明書をインストールする

独自のメールサーバー(cPanel、Plesk、hMailServerなど)を実行しており、自己署名証明書を使用している場合、PHPはデフォルトでそれを拒否します。

まず、Let’s Encryptを使用してメールサーバーに無料の信頼できるSSL証明書をインストールします。cPanelでは、SSL/TLSステータスに移動してAutoSSLを実行するか、メールホスト名にLet’s Encrypt証明書をインストールします。

Pleskユーザーの場合は、ツールと設定 » SSL/TLS証明書に移動し、メールドメインのLet’s Encryptを有効にします。

最後に、証明書が配置されたら、WP Mail SMTP » ツールに戻り、テストメールを送信します。これにより、サイトのエラーが解決されるはずです。ただし、エラーが解決しない場合は、下の次のトラブルシューティング手順に進んでください。

ステップ3:期限切れの証明書を更新する

SSL証明書には有効期限があります。メールサーバーのSSL証明書が期限切れの場合、サーバー管理者が更新する必要があります。

ホスティングコントロールパネルまたは証明書プロバイダーを通じてSSL証明書を更新できます。ただし、サードパーティのメールサービス(会社のExchangeサーバー、マネージドメールホストなど)を使用している場合は、メールサーバー管理者に連絡して、証明書が期限切れであることを伝えてください。

最後に、証明書が更新されたら、WP Mail SMTP » ツールに戻り、テストメールを送信します。

ステップ4:ホスティングプロバイダーにCA証明書バンドルの更新を依頼する

WordPressホスティングサーバー上のCA証明書バンドルが古い場合、PHPは有効な証明書さえ検証できません。これはサーバーレベルの問題であり、ホスティングプロバイダーのみが修正できます。

まず、ホスティングプロバイダーのサポートに連絡してください。次に、サーバー上のCA証明書バンドル(ca-certificatesまたはca-bundle.crt)を更新するように依頼してください。更新が確認されたら、WP Mail SMTP » Toolsに戻り、テストメールを送信してください。

ステップ5:APIベースのメーラーに切り替える

上記の手順で問題が解決しない場合は、SMTPを完全に切り替えるのが最も簡単な長期的な解決策です。APIベースのメーラーはHTTPS経由で接続し、メールサーバーのSSLまたはTLS証明書の問題を回避します。

まず、WP Mail SMTP » Settingsに移動します。Mailerセクションで、SendLayerBrevo (Sendinblue)SendGrid、またはMailgunなどのAPIベースのメーラーを選択します。

WP Mail SMTPでメーラーを選択する

次に、画面の指示に従ってアカウントを接続し、Save Settingsをクリックします。

最後に、WP Mail SMTP » Toolsからテストメールを送信します。

注記

  • Gmail、Outlook、Yahooなどの主要プロバイダーは有効な証明書を維持しているため、このエラーは一般的ではありません。自己ホスト型メールサーバー、またはcPanelおよびPleskメールサーバーで最も一般的です。
  • カスタムPHPコードでSSL検証を無効にすることは可能ですが、強く推奨されません。これにより、SMTP認証情報が傍受される危険性があります。代わりに証明書を修正してください。
  • 以前は機能していたサーバーでエラーが突然表示された場合、最も可能性の高い原因は証明書の期限切れです。メールサーバー管理者に確認してください。

これで完了です!「SSL証明書検証に失敗しました」エラーを修正し、WP Mail SMTP経由でメールを再び送信する方法がわかりました。

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

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