メールのインフラ

SMTP

SMTPはSimple Mail Transfer Protocolの略です。メールサーバー同士がメールを送り合うためのルールの集まりです。送るメールはすべて、SMTPを使ってサーバーからサーバーへ届けられます。

更新日

SMTPとは?(SMTPの意味)

SMTPはSimple Mail Transfer Protocolの略です。プロトコルとは、2台のコンピューターがやりとりするときに従う、決まったルールの集まりです。SMTPは、メールを送るためのルールの集まりです。現在の版はRFC 5321で定められています。RFCとは、インターネットの標準を定める公開文書です。

サーバーとは、常に動いていて、ほかのコンピューターのために仕事をするコンピューターです。メールサーバーは、メールを送ったり、受け取ったり、保存したりします。つまり「SMTPとは何か」の短い答えはこうです。メールサーバー同士がメールを受け渡す方法です。

SMTPはメールを運ぶだけです。受信トレイを表示することはありません。それはほかのプロトコルが行います。詳しくは後で説明します。

例:アナがベンにメールを送る

アナはGmailを使っています。ベンはNorthwindという会社で働いています。ベンのアドレスはben@northwind.comで、会社はMicrosoft 365のOutlookを使っています。アナはメールを書き、「送信」をクリックします。何が起きるかを見てみます。

  1. Gmailの送信サーバーが、アナのメールを受け取ります。
  2. @ より後ろの部分、northwind.comを読みます。これがドメイン、つまりインターネット上でのベンの会社の名前です。
  3. DNSでnorthwind.comのMXレコードを調べます。DNSとは、インターネットの公開ディレクトリです。MXレコードは、ドメインのメールを受け取るサーバーを示します。
  4. MXレコードはMicrosoftのサーバーを指しています。Gmailのサーバーは、そのサーバーへの接続を開きます。
  5. Gmailのサーバーは、EHLO コマンドで名乗ります。次に MAIL FROM で送信者のアドレスを伝えます。
  6. RCPT TO:<ben@northwind.com> で受信者のアドレスを伝えます。
  7. Microsoftのサーバーが 250 と応答します。そのアドレスあてのメールを受け付けるという意味です。
  8. Gmailのサーバーが、DATA コマンドでメールそのものを送ります。
  9. Microsoftのサーバーがもう一度 250 と応答します。メールを受け付け、ベンのメールボックスに入れます。
  10. Gmailのサーバーが QUIT で接続を終えます。

アナにもベンにも、これらの手順は見えません。アナには「送信済み」が表示され、ベンには新しいメールが届きます。

SMTPサーバーとは

SMTPサーバーとは、SMTPを使ってメールを送ったり受け取ったりするサーバーです。例では、Gmailの送信サーバーも、Microsoftの受信サーバーも、どちらもSMTPサーバーです。その上で動くソフトウェアをメール転送エージェント(MTA)と呼びます。

SMTPサーバーに関わるのは、メールソフトやアプリを設定するときです。たとえば、ウェブサイトのお問い合わせフォームからGmailアカウントを通じてメールを送りたいとします。フォームには、GmailのSMTPサーバーのアドレス smtp.gmail.com が必要です。ポート番号、ユーザー名、パスワードも必要です。フォームは各メールをそのサーバーに渡し、サーバーがそれを送ります。

大量のメールを送る企業は、通常SendGridやAmazon SESなどのメール配信サービス(ESP)を使います。これらのサービスは、顧客のためにSMTPサーバーを運用しています。

SMTPのポート:25、587、465

ポートとは、接続がどのサービスあてかをサーバーに伝える番号です。SMTPでは、よく使われるポート番号が3つあります。

ポート用途暗号化
25メールサーバーから別のメールサーバーへのメールの送信任意。STARTTLSで有効にします
587アプリやメールソフトから、自分のSMTPサーバーへのメールの受け渡しログイン前にSTARTTLSで有効にします
465ポート587と同じ用途最初から暗号化されます

STARTTLSとは、開いている接続を暗号化された接続に切り替えるコマンドです。暗号化すると内容が読めない形に変わるので、2台のサーバーの間にいる誰にも読まれません。

アプリやメールソフトを設定する場合は、ポート587か465を使います。多くの家庭向けインターネットプロバイダーやクラウドのホスティング事業者は、ポート25での外向きの接続をブロックしています。感染したコンピューターがスパムを送るのを防ぐためです。

SMTPとIMAP、POP3の違い

SMTPはメールを送ります。メールを読むことはできません。読むことは、ほかの2つのプロトコルが担当します。

  • SMTPは、メールソフトからサーバーへ、サーバーからサーバーへと、メールを送り出します。
  • IMAPは、サーバーに残っているメールをメールソフトで読めるようにします。スマートフォンでもノートパソコンでも、同じ受信トレイが表示されます。
  • POP3は、メールを1台の端末にダウンロードします。古い設定では、ダウンロード後にサーバーからメールを削除することがよくありました。

そのため、OutlookやApple Mailなどのメールソフトは2つの設定を使います。受信トレイを読むにはIMAPかPOP3を使います。送るにはSMTPを使います。

SMTPサーバーが拒否するとき

SMTPの応答は、すべて3桁のコードで始まります。最初の数字で、応答の種類がわかります。

  • 2xxは成功です。250 は、要求が受け付けられたという意味です。
  • 4xxは一時的な問題です。送信側のサーバーは後で再送します。例:451、後でもう一度送ってください。
  • 5xxは恒久的な失敗です。もう一度送っても失敗します。例:550 5.1.1、メールボックスが存在しません。

本物のメールに5xxの応答が返ると、ハードバウンスになります。4xxの応答はソフトバウンスです。よくあるコードとそれぞれの意味は、SMTPエラーコードのページにまとめています。

まだ知らない送信者に、わざと4xxの応答を返すサーバーもあります。これをグレーリスティングと呼びます。最初の送信は失敗し、後の再送が受け付けられます。

SMTPとメールアドレス検証

メールアドレス検証ツールは、上の例と同じSMTPのやりとりを使いますが、手順8の前でやめます。RCPT TO でアドレスについて確認し、250 の応答なら、サーバーがそのアドレスあてのメールを受け付けるという意味です。550 5.1.1 の応答なら、メールボックスが存在しないという意味です。その後、検証ツールは QUIT を送るので、メールは1通も送られません。メールアドレスの一括検証ツールは、このメールアドレス検証をリスト全体に対して行うので、バウンスするアドレスを削除できます。

送信前に受信側のサーバーで各アドレスを確認する

無料クレジット1,000件付き。クレジットカードは不要です。

無料で試せます クレジットに有効期限はありません 結果が不明のときはクレジットを返却