web-dev-qa-db-ja.com

SMTPサーバーが必要なのはなぜですか?

メールを送信するために中間SMTPサーバーが必要なのはなぜですか?クライアント(Outlook、Thunderbird)が受信者のSMTPドメインに直接メッセージを送信できないのはなぜですか。

たとえば、Gmailアカウントで[email protected]に電子メールを送信する必要がある場合は、smtp.gmail.comサーバーに送信します。それからこのサーバーは私のメッセージをexample.comのMXサーバーに送ります。

92
Tobia

コンピュータから受信者のSMTPサーバーに直接電子メールを送信することは技術的に可能です。

歴史的に見れば、リモートSMTPサーバーがダウンしている場合は、システムが自動的にそれを処理して再試行し続けるようにします。したがって、SMTPサーバーがあります。同様に、昔は、すべてのメールサーバーが常時接続されているわけではありませんでした。長距離リンクは高価だったため、リンクが確立されるとメールがキューに入れられて送信されます。

インターネットが安価なところに移っても、サーバーが利用できない場合に電子メールの送信を再試行するメカニズムがあると便利です。この機能をMUA(メールユーザーエージェント/エンドユーザーメールプログラム)に書き込むのは理想的ではありません。これらの機能はMTA(メールサーバー/ SMTPサーバー)に適合します。

しかし、それは悪化します - スパマー。ほとんどの電子メール(80%以上)はスパムです。メールプロバイダはこの問題を軽減するためにできる限りのことをしています - そして電子メールが配送される方法について多くのテクニックが仮定しています - 以下は重要な考慮事項です:

  1. グレーリスト:送信者と受信者が以前に通信したことがない場合、メール接続を自動的に切断し、2回試行することを期待するプロバイダもあります。 SMTPサーバーは常に想定されていますが、しないでください。これにより、スパムの量が約80%減少します。しかし、これをしなければならないのは吸います。

  2. 評判:信頼できる、知られているSMTPサーバーを介して電子メールを送信する人が夜間のフライサーバーより合法的である可能性がはるかに高いです。評判を感じるために、プロバイダーはいくつかのことを行います。

    1. 動的/クライアントアドレスをブロックします(100%ではありませんが、インターネットの大きな塊が配置されています)。

    2. リバースDNSとフォワードDNSが一致していることを確認します。難しいことではありませんが、ある程度の説明責任とベストプラクティスの知識があります。アドレスブロックにはありません。

    3. 評判:他のSMTPサーバーと通信するとき、多くのプロバイダはスパムの量と送信されたEメールの量を追跡し、スパムの量を減らすことができます。接続を制限し、これらのパラメータを監視することによって。 (これを行うにはたくさんの方法がありますが、それらすべてが明白であるわけではありませんが、既知の送信者が必要です)。

    4. SPFとDKIM:これらのメカニズムはDNSリソースをドメイン名に結び付けてメールの偽造を困難にし、困難になります(しかし、必ずしも展開が不可能ではありません)。メールプログラム(MUA)は送信メールに対して責任があります(既に受け入れられているので、この回答をより完全なものにするために追加されました。

他にも小さな問題があるかもしれませんが、これらが主な問題になります。

114
davidgo

メールを送信するために中間SMTPサーバーが必要なのはなぜですか?クライアント(Outlook、Thunderbird)が受信者のSMTPドメインに直接メッセージを送信できないのはなぜですか。

1991年 - そしてほとんどの1990年代初頭そしてさらにそれ以前 - では、あなたはあなたが説明したことをすることができるかもしれません。しかし、2015年の現実は、メールサービスがインストールされている任意のマシンから技術的に誰にでも電子メールを送信できる一方で、SPAMの世界ではこの方法は事実上無用になっています。

「本物の」SMTPサービスを使用すると、PTRレコード、SPFレコード、さらには1つの目的のためだけに確立されたDomainKeyなど、メッセージを送信しているSMTPが合法であることを保証するように設定されます。そうでなければ?メッセージを迷惑メールフォルダまたは削除の「偉大な深淵」にフィルタリングします。これらの各項目の内訳は次のとおりです。

  • PTR(ポインタレコード/逆DNSレコード):サーバーレベルの検証。 がここで説明したように 、PTRレコードはネットワークインターフェース(IP)をホスト名にマッピングするために使用されます。もしあなたがあなたのSMTPサーバ上に123.456.789.0のために電子メールを送るアドレスsmtp.example.comを持っていれば、そのための適切なPTRレコードはsmtp.example.comになるでしょう。単純すぎるように思えますが、実際にPTRレコードを設定できるのはIPアドレスの所有者だけであり、ハードウェアにしか設定できないため、うまくいきます。そのため、誰がそのIPアドレスを所有、実行、管理しているかの検証ポイントとして機能します。

  • SPF(送信者ポリシーフレームワーク):ホスト名DNSエントリレベルの検証。 SPFレコード - はここで説明されているように - 基本的にドメインネームホルダーによって設定されているIPアドレスとサーバーのホスト名のリストを提供するDNSレコードです。そのドメイン名のメールを送信することを許可されています。これもSMTPサーバーの真のドメイン名の所有者だけがメールを送信できることを確認するもう1つの検証手順です。そのため、IPアドレス123.456.789.9を持つサーバーがexample.com宛に電子メールを送信しているとします。 smtp.example.com123.456.789.0を使用することはすでに知っていますが、example.comのSPFレコードエントリは次のように述べることができます。 123.456.789.9はいいサーバーです!彼は合法です!彼のメールを尊重しましょう。」

  • DKIM(DomainKeys Identified Mail):電子メールメッセージレベルの検証。 ここ および ウィキペディア で説明されているように、「DKIMはEメール検証システムです。暗号化ハッシュを使用することで、DKIMは、ドメインからの受信メールがそのドメインの管理者によって承認され、電子メール(添付ファイルを含む)が変更されていないことを確認できるメカニズムを提供します。送信中にメール自体がフィルタリングまたは改ざんされていないことを確認します。これはまた、「あなたは合法的ですか、それともあなたは迷惑メールですか?」チェーンのもう1つの確認ポイントとしても役立ちます。

したがって、結局のところ、SMTPサーバーと関連する電子メールが合法的であることを確認するために、これらの項目のうち少なくとも2つ(PTRとSPF)が設定されていることになります。誰もがDKIMを使用しているわけではありませんが、スパム送信者がスパムを送信しようとする努力においてますます粘り強くなるにつれて、それは今日ますます人気が高まっている別の検証層です。

32
JakeGould

あなたがスパムネットワークに参加することを防ぐために、ほとんどの住宅用ISPはTCPポート25(SMTP)をブロックしています。あなたのPCが感染すると、あなたのPCは他の誰かの力でスパムを吐き出すことができます。

15
Ron Maupin

他の答えはすべて優れています、そしてスパムはそれと関係があります。

しかし、実際にはもっと単純で一般的な答えがあります。 SMTPを介したEメールの送信は、実際には非常に複雑な作業です。スパムがなくても、すべての電子メールクライアントにSMTPプロトコルの全機能セットを実装することは望ましくありません。専用のソフトウェア(sendmail、postfixなどが* nixの世界では大きなもの、Windowsの世界ではExchange)があればなおさらです。

たとえば、最も基本的な場合でも、「実際の」SMTPサーバーは少なくともMXレコードを解決できなければなりません。それからそれは機能を交渉しなければなりません(大抵TLS、しかし他の機能もあります)。再試行のためのキューの管理、配信不能レポートの生成などが必要です。

そしてそれは基本的な、必須の機能で、これがなければサーバーは機能しません。それはそのようなアドレス書き換え、郵送物などのものさえ含んでいません。 UUCPのように、sendmailなどがサポートしている他の12のプロトコルについては言うまでもありません。

Outlook、ThunderbirdなどでのSMTPの実装はごくわずかです - せいぜい、sendmailでスマートホストを使うのとほぼ同じくらいです。

関連するが、別の問題:電子メールは非常にセキュリティに注意を要するトピックであり、各デスクトップに数百または数千もの個別のサーバーではなく、1つまたはごく少数の集中管理サーバーで処理することをお勧めします。

6
Kevin Keane

メールを送信するために中間SMTPサーバーが必要なのはなぜですか?クライアント(Outlook、Thunderbird)が受信者のSMTPドメインに直接メッセージを送信できないのはなぜですか。

あなたはこれをした電子メールプログラムを作成することができます、そして私も他の人が以前にそれをした(または試みた)ことを疑いません。

あなたは本質的にMUA(メールユーザーエージェント)とMTA(メール転送エージェント)の両方を一つにしたツールを書くことになるでしょう。

MTAが「サーバー側」に常駐しているため、これが伝統的に異なるツールに分けられているのは、オープンインターネットを介してメールを送信するMTAは作成と設定がかなり複雑であり、また信頼性のある「常にオン」のサーバー。

MTAは以下の条件を満たす必要があります。

  • 信頼していない、または誤動作している可能性があるサーバーを検索して接続し、メールを失うことのない賢明な方法でエラー状態に対処します。

  • ダウンしているサーバーを処理し、後で再試行するために代替サーバーにルーティングするかメールをキューに入れます。これは、インターネットに「常時接続」されているサーバープロセスで最もうまく機能します。また、メール転送エージェントは、キューに入れられたメール用に独自のストレージ領域を必要とします。

  • 受信側サーバーの機能に応じて動作を調整しながら、さまざまなサーバー機能に対処します。

  • エラー状態について、またはメールが配達不能になったときに、メールが紛失しないようにユーザーに報告してください。

  • 優れたセキュリティプラクティスを持ち、非常にセキュリティを意識してください。

  • 理想的には、安定したIPアドレスとリバースDNSエントリを持つ信頼性のある常時接続されたサーバー、つまり一般向けのサーバーに適したインターネット接続に常駐します。これは他のシステムがスパムとして送信されたメールを検出しないのを助けます。

これらの要件を考慮すると、SMTPサーバーをどこかの人が常駐する常時接続サーバーに収容し、その特定の仕事をするのに適したツールを試して使用することは理にかなっています。

4
thomasrutter

もう1つ考慮すべきことは、返信された電子メールを受け取ることです。最低でも、すべての発信Eメールには、応答を送信できる送信元アドレス(不明なユーザー、休暇中の返信など)があります。返信アドレスを解決するには、受信トレイの場所を指すMXレコードが存在する必要があります。常にオンになっている静的IPアドレスを使用してコンピューターからEメールを送信しているのでなければ、これらのインバウンド・メッセージを処理するためのサーバーが必要になります。これは通常(常にではありませんが)同じサービスによって処理されます。

GMail、Outlook 365、およびYahoo Mailは、Eメールを送信している個人が使用するEメー​​ルサービスの例です。商用の電子メール送信には、MailChimp、Marketo、Eloquaのように、企業向けに大量の電子メールを送信したり、バウンス、調整、配信性などを処理するのに優れたサービスがあります。

参照: https://en.m.wikipedia.org/wiki/Bounce_address

1
dana