WP Mail SMTPは、WordPressサイトのメール機能を大幅に向上させるプラグインです。インストールすると、デフォルトのPHP mail()関数をメール送信用のSMTPに置き換えます。この変更により、WordPressサイトから、より信頼性の高い安全なメール配信が可能になります。
しかし、SMTP とはいったい何なのでしょうか?どのように動作し、なぜ PHP 組み込みの mail() 関数よりも優れているのでしょうか?
このガイドでは、SMTPを明確でわかりやすい言葉で説明します。このガイドが終わるころには、SMTPとは何か、どのように安全かつセキュアに電子メールをルーティングするのか、そしてなぜWordPressサイトでSMTPプラグインを使用することが必須なのかを正確に理解できるようになるでしょう。
SMTPとは?
SMTP(Simple Mail Transfer Protocol)は、送信メールサーバー、受信メールサーバー、メッセージ転送エージェントが通信するための方法である。
これは、メールサーバーにメッセージの送信先、メッセージの内容、添付ファイルの有無を指示する言語と考えることができる。また、メールが届かない場合の対処法もメールサーバーに伝えます。
誰かに手紙を送りたいときの選択肢について考えてみよう。地元の郵便サービスで送ることもできるし、さまざまな民間の宅配便で送ることもできる。現実の世界では、これらのさまざまな郵便サービスはすべて、さまざまな郵便の「プロトコル」のように機能している。各サービスは、メッセージを配達するための独自の方法を持っており、受取人が指定された住所にいなかったり、手紙を拒否したりした場合にどうするかを決めている。
SMTPは、Eメールを配信する最も高速で信頼性の高い方法の1つです。現実世界での宅配便であれば、メッセージ配信のゴールドスタンダードとなり、重要なEメールが安全かつ確実に宛先に届きます。
あなたのウェブサイトがEメールを送信するときに何が起こっているのか、その舞台裏を詳しく見てみましょう。
WP Mail SMTPの仕組み
メールの「送信」ボタンをクリックするか、WordPressサイトがWP Mail SMTPのようなSMTPプラグインを介してメールを送信すると、次のようになります:
1.メールのトリガー
まず、ウェブサイト上のアクションがメール送信のきっかけとなります。新規登録、お問い合わせフォームへの入力、注文確認などです。
2.WP Mail SMTPが引き継ぐ
WordPressのデフォルトのメール機能(しばしば配信性に問題がある)を使用する代わりに、WP Mail SMTPプラグインがメール配信を処理します。
このプラグインは wp_mail() 関数を再設定し、標準の PHP メール関数の代わりに適切な SMTP サーバーを使用するようにします。
3.SMTPサービスの選択
WP Mail SMTPは、プラグインの設定で設定したSMTPサービスを通してメールを送信します。これは、ホスティングプロバイダのSMTPサーバ、またはSendLayer、Gmail、または他のメールサービスプロバイダのようなサードパーティのサービスです。
4.電子メールの認証
このプラグインはSMTPサービスの認証情報を使ってメールを認証します。このステップにより、メールが安全に送信され、スパムとしてマークされる可能性が低くなります。
認証では、指定したユーザー名とパスワードでSMTPサーバーにログインする。
5.メールの送信
認証されると、SMTPサーバーは電子メールを処理し、受信者の電子メールサーバーに送信する。
Eメールは、様々なチェックポイントを通過しながら、確実に受信者に届きます。
6.受信者のメールサーバーがメールを受信する
受信者のメールサーバーはメールを受信し、受信箱(場合によっては、送信者の評判が悪いなどの問題がある場合はスパムフォルダー)に入れる。
すべてがうまくいけば、受信者は受信トレイにメールを見ることになる。
7.配送確認書(オプション)
お使いのSMTPサービスや設定によっては、メールが正常に送信されたことを示す配信確認やログエントリが表示される場合があります。
これで完了です!WP Mail SMTPは、あなたのEメールが適切に認証され、配信されることを保証し、スパムに終わる可能性を減らすのに役立ちます。
SMTPの仕組み
WP Mail SMTPやその他のSMTPプラグインは、あなたのサイトから送信メールサーバー(SMTPサーバー)へメールを送信する仕事をします。しかし、その後どうなるでしょうか?
SMTPはプロトコル(言語のようなものと考えてよい)であるため、あらゆるタイプのハードウェアやソフトウェアから他のあらゆるデバイスに電子メールを送信することができる。
iPhoneからPCへ、ウェブサイトからアプリへ、MacBookからプリンターへメールを送ることができる。これらのデバイスはすべてSMTPプロトコルを「話し」、理解するため、あなたのEメールに対して何をすべきかを知ることができる。
1.SMTPサーバーへの接続
電子メールクライアント(アプリケーション、ウェブサイト、またはWP Mail SMTPのようなソフトウェア)はSMTPサーバーに接続し、「ハンドシェイク」と呼ばれるもので自己紹介する。サーバーは独自の挨拶で応答し、処理を続行する準備ができていることを確認する。
2.認証
クライアントはユーザー名とパスワードを使用してSMTPサーバーにログインし、電子メールが安全に送信されるようにする。
サーバは認証情報をチェックする。それらが正しければ、サーバは成功メッセージで応答し、クライアントは処理を続行できる。そうでない場合、接続は切断されるか、クライアントは再認証を要求される。
3.メールの送信
クライアントはサーバーにメールの送信元と宛先を伝えます。サーバーは各受信者のアドレスをチェックし、それらのアドレスにメールを配信できることを確認する。
次にクライアントは、添付ファイルを含む電子メールの全内容をサーバーに送信する。完全なメッセージを受信すると、サーバーはデータ転送の終了を確認し、電子メールの配信が受け入れられたかどうかを確認します。
4.メールのルーティング
SMTPリレーはメールを処理し、受信者のメールサーバーアドレス(MXレコード)を見つけるためにDNSルックアップを実行して正しいパスを見つけ、受信者のメールサーバーに転送する。これは、ディレクトリで電話番号を検索するのと同じように機能する。
その後、メールは受信者のSMTPサーバーに転送され、配信される。このステップでは、最終的な宛先に到達するまでに、いくつかの中間サーバー(リレー)を通過することがあります。
Eメールが様々なサーバーを通過する際、スパムフィルターによってチェックされる可能性があります。スパムフィルターは、送信者の評判、コンテンツ分析、SPF、DMARC、DKIMなどの認証プロトコルなどの要素を評価し、Eメールが正当なものかどうかを判断します。
6.配送
受信者のSMTPサーバーがメールを受信する。受信側のメールサーバーが電子メールを受け付けると、サーバーから電子メールを取り出し、受信トレイに届けるために働く他のプロトコルがある。
POP3はメールサーバーから直接デバイスにメッセージをダウンロードするが、IMAPはメッセージも取得するがサーバーにコピーを残す。
SMTPサーバーは確認で応答し、接続を閉じ、電子メール・トランザクションは完了する。
7.エラー処理
処理中に何らかの問題が発生した場合(受信者アドレスが無効、サーバーが使用できないなど)、サーバーはSMTPエラーコードをクライアントに返します。クライアントはメールの再送を試みるか、送信者に失敗を通知することができます。
エラーコード | クラス | 説明 |
---|---|---|
2xx | 成功 | 要求されたアクションは正常に完了しました |
211 | 成功 | システムの状態またはヘルプの返信 |
214 | 成功 | ヘルプメッセージ |
220 | 成功 | サービス |
221 | 成功 | サービス終了伝送路 |
250 | 成功 | 要求されたメールアクションはOK、完了 |
251 | 成功 | ユーザーはローカルではない。 |
252 | 成功 | ユーザーを確認できませんが、配信を試みます |
354 | 成功 | Start mail input; end with <CRLF>.<CRLF> |
4xx | 一時的な故障 | コマンドは受け付けられず、要求されたアクションは発生しなかった。 |
421 | 一時的な故障 | サービスが利用できません。 |
450 | 一時的な故障 | 要求されたメールアクションが実行されない:メールボックスが利用できない |
451 | 一時的な故障 | 要求されたアクションが中止されました:処理中のローカルエラー |
452 | 一時的な故障 | 要求されたアクションが実行されない:システムのストレージ不足 |
5xx | 永久故障 | コマンドは受け付けられず、要求されたアクションは発生しませんでした。 |
500 | 永久故障 | 構文エラー、コマンドが認識できない |
501 | 永久故障 | パラメータまたは引数の構文エラー |
502 | 永久故障 | コマンドが実装されていない |
503 | 永久故障 | コマンドの順序が悪い |
504 | 永久故障 | コマンドパラメータが実装されていない |
521 | 永久故障 | サーバーがメールを受け付けない |
550 | 永久故障 | 要求されたアクションが実行されない: メールボックスが利用できない |
551 | 永久故障 | User not local; please try <forward-path> |
552 | 永久故障 | 要求されたメールアクションは中止されました:ストレージの割り当てを超えました |
553 | 永久故障 | 要求されたアクションが実行されませんでした:メールボックス名が許可されていません |
554 | 永久故障 | トランザクションの失敗 |
何度試みてもメールが届かない場合、SMTPサーバーはバウンスメッセージ(永久的な失敗)を生成することがあります。
SMTPサーバーとは?
SMTPサーバーは、送信メールサーバーとも呼ばれ、すべての送信メールを管理し、適切な場所に送信されるようにするシステムです。
言い換えれば、SMTPサーバーは地元の郵便局のような役割を果たします。意図する受信者のアドレスをそこに安全にメッセージを預けることができ、適切な場所に迅速に配達されることを信じることができます。
WP Mail SMTPでは、メール配信に任意のSMTPサーバーを使用することができます。SendLayer、SMTP.com、Brevoのようなサービスは、信頼性、セキュリティ、スケーラビリティの点でおすすめですが、どのようなメールプロバイダのSMTPサービスでも利用できます。Gmailのような無料のメールプロバイダーでも、メールの配信にSMTPを使用しています。
サポートされているEメールサービスの一覧は以下をご覧ください:
すべてのバージョンで利用可能なメーラー | WP Mail SMTP Proのメーラー |
---|---|
センドレイヤー | アマゾンSES |
SMTP.com | マイクロソフト365 / Outlook.com |
ブレヴォ | Zohoメール |
Googleワークスペース / Gmail | |
メールガン | |
消印 | |
センドグリッド | |
スパークポスト | |
その他のSMTP |
SMTP vs PHP Mail()
WordPressがデフォルトでメールを送信する方法について説明しよう。wp_mail()と呼ばれる関数を使用し、PHPのmail()を使用します。
この関数は、コードスニペットから受信者、メッセージ、件名、ヘッダーを受け取ってメールを作成し、WordPressホスティングプロバイダーがメールの配信を試みます。
この関数の使用方法はとても簡単ですが、サイトからメールを送信しようとすると頭痛の種になることがあります。
まず、PHPのmail()は必ずしも信頼できるとは限りません。ホスティングプロバイダによっては、この機能を許可していないところもあります。 なぜなら、この機能はセキュリティ上のリスクがあり、ハッカーやスパマーに悪用される可能性があるからです。この機能が無効になっている場合、あなたのウェブサイトからメールが送信されることはありません。
うまくいったとしても、この方法で送られたメールはスパムフォルダに入ってしまったり、まったく届かなかったりすることが多い。なぜか?多くのメールシステムが期待している重要なセキュリティチェックが行われていないからです。さらに、エラーも起こりやすく、メールが正しく送信されなかったり、配信されなかったりすることもあります。
では、SMTP と PHP の mail() の違いを見てみましょう。SMTP は、これらの問題の多くを解決する別の電子メール送信方法です:
- SMTPは、信頼性の高いメール配信のために最適化された専用のメールサーバー(SendLayerやGmailなど)を経由してメールを送信します。
- SPF、DMARC、DKIMなどのプロトコルをサポートしており、メールの正当性を検証し、メールの配信性を向上させます。
- 多くのSMTPサービスは、送信中に暗号化(SSL/TLS)を提供し、特に機密情報のセキュリティを強化している。
- SMTPは、配信を妨げる技術的エラーの可能性を低減します。
- メールの配信状況について、より詳細なフィードバックが得られることが多く、問題の特定と解決に役立ちます。
PHPのmail()はWordPressのデフォルトですが、必ずしも最良の選択とは限りません。一般的に SMTP の方が信頼性が高く安全で、WordPress サイトから送信されるメールの配信性を向上させることができます。
また、注文確認、パスワードのリセット、アカウントの更新など、重要なサイトのEメールがすべて目的の受信者に届くようにするためには、配信性が非常に重要です。その
WPメールSMTPのようなSMTPプラグインを使用することが非常に重要である理由です。
SMTPメールとメールAPIの比較
WP Mail SMTPがSMTPとAPIの両方を提供していることにお気づきかもしれません。ここでは、これらの仕組みについて簡単に説明します:
SMTPは、電子メールを送信するための信頼性が高く、広く使用されている方法です。SMTP経由で電子メール・プロバイダーに接続すると、電子メールは上記の方法で外部の電子メール・サーバーを経由して送信されます。
APIは、さらに簡単に設定できる最新の代替手段です。API方式では、メールサービスプロバイダからのAPIキーが必要です。
WP Mail SMTPにキーを入力すると、プラグインはメールサービスのサーバーに直接接続します。この方法は、多くの場合より速く、メール追跡や分析などの追加機能を提供します。
どちらのオプションもWordPressサイトからメールを送信するのに優れており、WP Mail SMTPは、使用しているメールサービスに応じて両方の方法をサポートしています。
SMTPポートの説明
ポートは、コンピュータやその他のデバイスがネットワーク・トラフィックを適切なアプリケーションにルーティングするのに役立つ。
ネットワークポートを建物のドアのように考えることができる。建物の各ドアが別の部屋に通じているように、コンピュータやデバイスの各ポートは特定のサービスや機能に通じている。
データがインターネット上で送信されるとき、正しいプログラムやサービスに到達できるように、どの「ドア」(またはポート)に入るべきかを知る必要があります。例えば、ウェブサイトを訪問している場合、リクエストはウェブトラフィックを処理するポートに送られます。
他のサービスと同様に、SMTPは電子メールのトラフィックを処理するために特定のポートを使用します。主なSMTPポートは以下の通り:
- ポート25:これはSMTPに使われる本来のポートで、主にサーバー間の電子メールの中継に使われる。しかし、スパムを防ぐためにISPによってブロックされることが多い。
- ポート587:メールクライアントからメールサーバーへのメール送信に最もよく使われるポートです。暗号化に対応しているため、より安全にメールを送信することができます。
- ポート465:このポートはもともとSSL暗号化SMTP用に割り当てられていたが、後に非推奨となった。しかし、一部のサーバーでは、安全な電子メール送信のためにまだこのポートを使用しています。
WP Mail SMTPをセットアップする際、メールが確実に配信されるように、正しいSMTPポートを設定することが重要です。この情報は他のアカウント認証情報と共にメールサーバーから提供されるはずです。
SMTPに関するよくある質問
WordPressサイトのメール配信方法をSMTPに切り替えようと考えているユーザーからよくいただく質問をご紹介します:
WP Mail SMTPで複数のSMTPサーバーを使用できますか?
WP Mail SMTP Proでは、バックアップメーラーと スマートメールルーティングを設定することができます。これは、プライマリSMTPサーバーに障害が発生した場合、自動的にバックアップに切り替えてメールが送信されることを保証します。また、件名、メッセージの内容、送信者、メールを生成したプラグインなどの変数に基づいて、代替サーバーを経由してメールをルーティングすることもできます。
SMTPへの切り替えは、既存の電子メールや電子メールテンプレートに影響しますか?
いいえ、SMTPに切り替えても、Eメールの送信方法が変わるだけで、内容は変わりません。既存のメールテンプレートやデザインは変わりません。ただし、メールの配信性が向上する可能性があります。
SMTP経由で送信されたメールの開封やクリックを追跡できますか?
基本的なSMTPにはトラッキング機能は含まれていません。しかし、いくつかのメールサービスプロバイダは、WP Mail SMTPでAPI接続メソッドを使用すると、これらの分析を提供します。メールの追跡が重要な場合は、この機能を提供しているプロバイダを探してください。
SMTPを設定してもメールが届かない場合はどうすればよいですか?
まず、SMTP設定が正しいことを確認します。次に、DNSレコード(SPF、DKIM、DMARC)が正しく設定されていることを確認します。それでも問題が解決しない場合は、メールサービスプロバイダに問題がないか確認してください。
SMTPで送信できるメール数に制限はありますか?
メール送信の制限は、SMTPプロトコルそのものではなく、SMTPプロバイダーに依存します。プロバイダによっては、特に無料プランの場合、1日または1時間ごとの送信制限があります。特定の制限については、選択したプロバイダに確認してください。
個人のGmailアカウントをWordPressサイトのSMTPサーバーとして使用できますか?
無料のSMTPサービスが必要な場合、個人のGmailアカウントを使用することは可能ですが、送信制限が低いため、ビジネスウェブサイトにはお勧めできません。上記のリストにある推奨メールプロバイダのいずれかを使用することをお勧めします。
SMTPは電子メールの添付ファイルをどのように扱うのか?
SMTPは添付ファイルを扱うことができますが、大きな添付ファイルは問題を引き起こす可能性があります。多くのSMTPサーバーでは、メールのサイズに制限があります(10~25MB程度が多い)。大きなファイルの場合は、ファイル共有サービスを利用し、代わりにメールにリンクを含めることを検討してください。
以上です!これで、SMTPとは何か、そしてメール配信性を向上させるためにSMTPがどのように機能するのかをご理解いただけたと思います。
次に、WP Mail SMTPのトラブルシューティング方法について説明します。
WP Mail SMTPの使用でエラーやその他の問題が発生していませんか?WP Mail SMTPの一般的な問題を解決するための簡単なガイドをご覧ください。
メールを修正する準備はできましたか?最高のWordPress SMTPプラグインで今すぐ始めましょう。メールを修正する時間がない場合は、追加購入としてWhite Glove Setupのフルサポートを受けることができ、すべての有料プランには14日間の返金保証があります。