SMTPとは? メール送受信の基礎知識と、SMTPサーバーの機能と課題
はじめに
メールソフトの設定や、メール送信に関わる場面で目にする「SMTP」とは何かご存知でしょうか。SMTPとは「Simple Mail Transfer Protocol」の頭文字をとったもので、その名の通りメールを送信するために使われるプロトコルのことです。ここでは、メールに関わる基礎知識の整理から、メール送受信におけるSMTPサーバーの役割、そしてSMTPの抱える課題とそれを克服するための手法や「SMTPリレーサービス」について解説します。
※本記事は2021/10/7に内容を更新いたしました。
メールの基本と送受信の仕組み
まず、メールに関する基礎知識を整理して、メールが送信されて相手に届くまでの仕組みについて解説します。
メールソフトとメールサーバーとは?
私たちが普段PCやスマートフォンでメールをチェックしたり、メールを書いて送信したりするのに使っているのが「メールソフト」で、「メーラー」や「メールクライアント」と呼ばれることもあります。具体的にはOutlook・Thunderbird・Mac Mail・Beckyといったソフトが挙げられます。
「メールサーバー」は、メールソフトからの要求を受けて実際にメールを宛先に送信したり、メールを受信してユーザーごとのメールボックスに振り分けたりといった機能を提供するものです。 メールソフトの設定時に、「送信メールサーバー(SMTP)」「受信メールサーバー(POP/IMAP)」の情報を求められますが、実際にメールを送受信する役割を果たすのはメールサーバーの方だからなのです。送信メールサーバーと受信メールサーバーは、同じサーバー(1台2役)の場合もありますし、別々のサーバーを利用している場合もあります。
通信プロトコルとは?
冒頭でSMTPはメール送信に使われる「プロトコル」だと説明しましたが、プロトコルというのもあまり聴き慣れない言葉かもしれません。プロトコルとは、コンピュータネットワークにおける通信の規格であり、PCとサーバーや、サーバー同士が通信する際の決まりのようなものです。
例えばPCでブラウザを利用してWebサイトを閲覧するときには、「HTTP」や「HTTPS」といったプロトコルで通信をしています。その他にもファイルを転送する「FTP」や、暗号化した通信でサーバーに接続して操作するための「SSH」といったものが代表的です。
そしてメール送信に利用するプロトコルが「SMTP」であり、受信に利用するのが「POP」もしくは「IMAP」なのです。
メールを送ってから届くまで
メールの送受信は、実際にどのような仕組みで行われているのか見てみましょう。
1:まず送信者がメールソフトでメールを作成し「送信」ボタンを押すと、SMTPで送信メールサーバーに接続し、メールをアップロードします。
2:メールを受け取ったメールサーバーは、メールを送信するために宛先のドメインのメールサーバーがどこにあるかDNSに問い合わせをします。DNSは該当のドメインのメールサーバーのIPアドレスを調べて返答します。
3:宛先のメールサーバーの場所がわかったら、送信メールサーバーはSMTPでメールを転送します。
4:無事受信側のメールサーバーにメールが到達します。しかし受信者が手元のメールソフトでメールを確認するには、メールサーバーにあるメールを受け取らなくてはいけません。その時に使われる受信のプロトコルがPOP/IMAPです。
SMTPサーバーとは
まずはメール送受信に関する基本的な用語と、メールが届く仕組みについて解説しました。ここではメールサーバー(SMTPサーバー)について、サーバーソフトウェアやその機能など、技術的にもう少し掘り下げて解説します。
MUA・MTA・MDAとは?
メールサーバーは、SMTPでメールを送信するサーバーということで「SMTPサーバー」とも呼ばれます。サーバーと言っても、必ずしも独立した実体として存在している必要はなく、Webサイトやシステムのサーバーの一部に「メール送信を担うアプリケーション」として存在している場合も多いです。そのSMTPサーバーを構成するプログラム(ソフトウェア)が「MTA」と「MDA」です。同様に、メールソフトのことは「MUA」(Mail User Agent)と言います。
MTAはMail Transfer Agentの頭文字をとったもので、その名の通りSMTPを使ってメールを転送します。詳しい機能は後ほど解説しますが、メールの送受信における主要な役割はMTAが担っています。具体的なソフトウェアとしては、Postfix・Qmail・Sendmail・Microsoft Exchangeなどが挙げられます。
MDAはMail Delivery Agentの頭文字をとったもので、MTAが受信したメールを受け取って、ユーザーメールボックスに仕分けする役割を持っています。具体的なソフトウェアとしては、Dovecot・Cyrus IMAP・getmail・maildropなどが挙げられます。
SMTPサーバー(MTA)の機能
前述の通り、SMTPを利用してメールを転送するのはMTAのため、SMTPサーバーと言う時はMTAのことを指している場合が多いです。MTAには以下のような機能があります。
・メールの転送:MUAや別のMTAなどからメールを受信し、次のサーバーやMDAに転送する
・アドレスの書き換え:エンベロープまたはヘッダのアドレスを、設定に応じて適切な形に書き換える
・メールキューイング:メールをキューと呼ばれる待機場所に追加し、宛先のサーバーが応答しない場合は設定された期間内繰り返し送信する
・エラーの応答:メールが宛先に到達しなかった場合、エラーコード(SMTP応答コード)を返す
・フィルタリング:IPアドレス・ドメイン・容量・ウイルスやスパムの可能性・ヘッダーの内容などに基づいてメールをフィルタ処理する
・認証:SPF・DKIM・DMARCといったドメイン認証に対応する
・監査:誰が・いつ・どこから・どのようなメッセージを送信したかログを残し追跡できるようにする
このように、SMTPサーバーは「メールを送信するサーバー」と一口に言っても、メールの送受信に関わる多くの重要な機能を備えているのです。
SMTPの課題と解決方法
昨今利用されているMTA(SMTPサーバー)はさまざまな機能を備えていますが、転送に利用しているプロトコルのSMTPは、歴史が古く非常にシンプルであるがゆえ、いくつかの課題を抱えています。まず、ユーザーの認証機能がなく誰でも送信できてしまうこと、そして通信が暗号化されないことです。これらの欠点を解決するために、現在では以下のような方法が利用されています。
ユーザー認証の導入:SMTP-AUTH
「Authenticated SMTP」(SMTP認証、SMTP-AUTHなどと呼ぶ)はSMTPの拡張仕様の一つで、SMTPサーバーへメールの送信依頼をする際にアカウント名とパスワードでの認証を求めるものです。
SMTPにはもともと認証機能などはなく、誰でも使えるオープン性が特徴でしたが、大量の迷惑メールが氾濫するようになったことで正当な送信者以外からはメールを送れないよう、ユーザーの認証機能を導入したのがこの方式です。
SMTPが通信に利用する標準ポートは25番ですが、SMTP-AUTHはサブミッションポートとも呼ばれる587番ポートを利用します。
通信の暗号化:STARTTLS
「STARTTLS」は通信の暗号化の手法の一つで、元々暗号化に対応していないSMTPやPOP3・IMAP4といったメール送受信のプロトコルの暗号化にも利用されています。
STARTTLSは、まず通常のポート番号とプロトコルで通信を開始し、双方がSTARTTLSに対応可能であると確認できたらSSL/TLSで暗号化してから改めて通信を開始するという仕組みになっています。この方式は、暗号化通信のための専用ポートを利用する必要がないことと、相手が暗号化に対応していない場合はそのまま通信ができるというメリットがあります。
以前は465番ポートを利用して暗号化通信を行う「SMTPS」(SMTP over SSL)も使われていましたが、現在ではSTARTTLSが定着しており、あまり使われなくなっています。
25番ポートの利用禁止:OP25B/IP25B
「OP25B」(Outbound Port 25 Blocking)は、SMTPの拡張機能などではありませんが、外部ネットワークのSMTPサーバー(25番ポート)への接続をブロックする技術のことです。
SMTPのオープン性を悪用したスパム対策として、ISPやホスティング事業者、IaaSベンダーなどが実施しています。OP25Bが実施されている環境では、25番ポートを利用したSMTPでのメール送信がすべて遮断されるため、サブミッションポートを利用したSMTP-AUTHでの送信など、メール送信に何か他の手段を利用する必要があります。
「IP25B」(Inbound Port 25 Blocking)は反対に、外部からの25番ポートへの接続を遮断する技術のことです。
OP25Bについては、以下の記事でも詳しく解説しています。
メール送信規制「OP25B」とは?その概要と回避策 | ベアメールブログ
SMTPリレーサービスとは
SMTPリレーとは、もともとはサーバー間でメールを転送することを意味します。サーバー間での通信のことなので、通常メールを送信するときには特段意識することはありませんが、世の中には「SMTPリレーサービス」というSMTPリレーを謳うサービスが存在しています。「SMTPメールリレーサービス」や「メールリレーサービス」とも呼ばれることもありますが、これらは一体どういった目的で使われるのでしょうか?
SMTPリレーサービスが必要になる理由
SMTPは仕組みがシンプルである反面、その「誰でも利用できる」特徴を悪用した迷惑メールが広まるようになりました。大量かつ無差別に送信される迷惑メールはインターネットにおける大きな問題であり、これまでにISPや携帯キャリアなどによって迷惑メールを防止するためのさまざまな対策が行われてきました。
例えば、「IPスロットリング」とも呼ばれる、一定時間内に送信できるメール量を制限し、超えた場合には一時的に受け入れを拒否するというような仕組みが取り入れられています。通常のメール送信であれば短時間に数百通といったメールを一斉に送信する事態は考えにくいため、スパマーによる迷惑行為であると捉えられブロックされてしまうのです。しかし、顧客向けのメールマガジンや、トランザクションメールと呼ばれるシステムから自動的に送信されるメールなど、正当な理由で大量のメールを一斉送信したい場合もこの制限に引っかかってしまうのです。
また、自社のメールサーバーより大量のメールを一括で送信し、受信側から迷惑メールと誤解されるようなことを繰り返すと、メール到達率の低下を引き起こします。それでも大量のメールを送信し続けると、レピュテーションの低下や、送信元のIPアドレスやドメインがブラックリストに登録されるといったリスクに繋がります。ブラックリストに登録されてしまうと解除に手間がかかる上、一度下がってしまったレピュテーションを回復するにも継続的な取り組みが必要となります。
こうした厳しい迷惑メール対策への対応や、運用の手間を低減させるために、メールの大量送信に特化した環境を介してメールを送るサービスが生まれました。SMTPのメールをサーバー間でリレーする機能を利用するため、「SMTPリレーサービス」と呼ばれているのです。
SMTPリレーサービスを利用するメリット
SMTPリレーサービスを用いることには、次のようなメリットがあります。
●メール到達率改善
メールリレーサービスの提供元は、各種携帯キャリアやISPなどに届きやすくするための独自の配信アルゴリズムを持っています。そのため、メールリレーサービスを使うことによって、届きにくかったメールが届きやすくなります。システムから自動的に送信する、会員登録の確認メールや購入完了のサンキューメールなど、必す届かなければならない通知メールも、ECシステムとの連携・IPレピュテーションの不足・宛先不明によるバウンスといった問題を解決しつつ、不達や遅延を防ぎます。
●低コストで大量のメールを高速配信
メールサーバーの処理能力以上の大量のメールを一括送信すると、メールサーバーが処理しきれずに送信の遅延につながるため、いくつものメールサーバーを並列稼働させる必要があります。しかし、メールサーバーの並列稼働はコストがかさむため、実際自社ですべてを賄うことは難しいでしょう。メール送信にかかるコストを少しでも小さくするならば、SMTPリレーサービスの活用がおすすめです。
●IPレピュテーション管理が不要
大量かつ頻繁なメール送信は、「迷惑メール」として判定されやすくなります。さらに、迷惑メールと判定される回数が増えるごとにレピュテーションが低下し、あわせてメール到達率も低下するという「負のサイクル」の発生リスクがあります。こうした負のサイクルを防ぐには、レピュテーションのスコアを高く維持することが重要であり、運用リソースだけではなく専門的なナレッジやノウハウが必要になります。IPレピュテーションが高く保たれたメールサーバーからメールを送信できるSMTPリレーサービスならば、こうした労力が削減されます。
まとめ
ここでは、メール送受信に関する基礎知識の確認から、SMTPサーバーの機能、SMTPの課題やSMTPリレーサービスのメリットなどを紹介してきました。SMTPリレーサービスである「ベアメール」は、メールサーバーの構築・運用だけでなく、IPレピュテーションの管理も任せることができるため、メールサーバーの運用にかかっていた人的コストも削減することができます。低コストにメール到達率の改善を進めたいのであれば、SMTPリレーサービスを検討してみてはいかがでしょうか。
The post SMTPとは? メール送受信の基礎知識と、SMTPサーバーの機能と課題 first appeared on ベアメールブログ.