web-dev-qa-db-ja.com

sendmailはSMTPサーバーですか? MTAとメールサーバーに違いはありますか?

私はメールを送信するのが初めてで、どのように機能するのか正確にはわかりません。

管理者がsendmailを使用してメールを送信するのを見てきました。 sendmailはSMTPサーバーですか、それともSMTPサーバーに依存して電子メールをリレーするクライアントですか?私はググってメール転送エージェントだと読んだ。

メール転送エージェントとメールサーバーに違いはありますか?

Sendmailを使用して[email protected]にメールを送信するときに、セキュリティチェック(リバースDNSなど)がないことを前提としています。別のSMTPサーバー(google.com)を経由する必要がありますか、それともメールを送信できますか?サーバーからsendmailを使用して?

また、メールサーバーがどのように機能するかについての初心者向けガイドを教えてくれる人もいるとよいでしょう。

ありがとう

16
Noob

私のこの小さなチュートリアル MUA、MTA、MDA は、Unix電子メールシステムの基本概念の説明に非常に適しています。

はい、適切に設定された sendmail は、到達可能なホスト上の任意のMTAに電子メールを送信できるはずです(ただし [〜#〜] mta [〜#〜] は、メールを拒否する可能性があります様々な理由)

mail serverこれは通常、次のいずれかまたは両方の代替パスを指します。

8
Dan Cornilescu

私はこれを少し調べました。

MTAのような用語を使い始めると、「メールサーバー」のような用語は避けてください。非常に具体的な用語を使用しています。命名法も、「メールサーバー」は、あまりに一般的すぎて、あいまいであるため、意味がありません。

集められるものからはこんな感じ

MUA-->MSA--->MTA--->(MDA->Comp)<--MUA

iMAP/POPクライアント(MRA)とIMAP/POPサーバー(MAA)が関与する

sending(A->B->C->D->X)   then  from receiving right to left (X<--B<--A)
    A      B     C          D          X      B     A 
    MUA-->MSA--->MTA--->(MDA->Comp)-->MAA<---MRA<--MUA

メールはuser @ domainに送信されます

[〜#〜] mua [〜#〜]は電子メールクライアントです。これはSMTPクライアントです。 (またはより正確には、もちろんそのマシンに対してローカルである特定のSMTPクライアントを実行するように構成されたユーザーインターフェイスですが、もちろんSMTPサーバーに接続します)

[〜#〜] msa [〜#〜]は、メールを転送することを意味するMTAですが、MUAが接続するMTAです。そして、それはローカルドメインにあります。 SMTPを実行します。 SMTPサーバーになります。 (おそらくSMTPの代替として実行できる他のプロトコルがある)。

[〜#〜] mta [〜#〜]は、宛先ドメインのMTAです。

[〜#〜] mda [〜#〜]メッセージを「/」に書き込み/「配信」する、受信者のドメインのコンピュータですコンピュータがアクセスできるハードドライブにあるメールストア」。多くの場合、ローカルです。そのメールストアは、ドメイン上のユーザーのメールを格納します。

MAAおよびMRA-これらは、電子メールを送信するのではなく、電子メールを受信することに関するものです。 MAAという用語はあまり知られておらず、多くの場合、MRAは単なるIMAP/POPクライアントと呼ばれ、サーバーに省略形を与えません。 MRAがクライアントとサーバーの両方の用語であると聞いたことがあります。議論は、それはエージェントを表すので、関数を説明するだけであり、定義はクライアントまたはサーバーだけに限定されません。しかし、MAAという用語を使用しているサイトでは、MAAをサーバー、MRAをクライアントとして定義しているようです。それで、私はそれで行き、定義と例のために、それに関する2つのウェブサイトから引用します。

POP/IMAPサーバーであるMAAがあります。そして、POP/IMAPクライアントであるMRA。これについて言及している2つのリンク.

https://www.ida.liu.se/~TDDI09/lectures/TDDI09-F4.pdf
MRAクライアントFetchmail
MAAサーバークーリエIMAPD

http://archive.vector.org.uk/art1050097
MAA(メールアクセスエージェント):
メールアカウントのフォルダを管理し、MRAがメッセージを利用できるようにします。 MRA(Mail Retrieval Agent):MAAを介してメールフォルダーにアクセスし、MUAがメッセージを利用できるようにします。


あなたはSendmailについて質問します。私はこれらの電子メール関連のLinuxプログラムをほとんど知りませんが、SendmailにはSMTPクライアントがありますが、それはほとんどMTAです(そしてMTAとして機能できるプログラムはMSAとして機能することができ、MSAはただですMTAの形式)。

セキュリティチェックがない場合、宛先ドメインのMTAに直接送信できるかどうかを尋ねます。 MUAからMTAへの移行は1回だけで、SMTPサーバーは1つしか含まれていないので、そうです。ただし、通常はローカルドメイン上のMSAがMTAに送信します。そのため、通常は2つのSMTPサーバーが関与しています。 MSA SMTPサーバーのsendmailまたはpostfixを実行していて、ドメインでDNSチェックを実行していて、宛先MTA(別のSMTPサーバー)を見つけているのを見たと思いました。それから、私はそれを直接送ってみようと思いました。また、送信先の1つのドメインについて、その宛先MTAに直接接続することができました。

8
barlop

「メールサーバー」という用語は曖昧です。電子メールには多くの可動部分があります。

  • Sendmailは、メール転送/トランスポートエージェント(MTA)、別名SMTPサーバーです。 (他にもあります。例:exim4

    • 何かがドメインのSMTPサーバーとのセッションを開き、そのドメインの別のホストにメッセージを送信します。 (ドメインのSMTPサーバーはDNS MXレコードを介して見つかります)
  • SMTPサーバーがメッセージを受信すると、次のことを実行できます。

    • 受信したメッセージが別のドメイン宛である場合、そのドメインのSMTPサーバーにメッセージをリレーできます。
    • 受信したメッセージがSMTPサーバーが存在するドメインと同じドメインのものである場合、ローカルのメール配信エージェント(MDA)にメッセージを渡すことができます(MDA自体として機能していない場合)。
    • UNIXシステムでは、ローカルMDAは通常、メッセージをローカルユーザーのメールスプール(mboxまたはMaildir)または他のストレージメカニズムにコピーします。

UNIX/LinuxシステムでSMTPサーバーを実行している場合は、muttpineなどのメールユーザーエージェント(MUA)または他のプログラムを使用して、ローカルスプールからメールを読み取ることができます。 。これを機能させるには、ローカルシステムにログオンする必要があります。

リモートシステムに保存されているメールを読みたい場合はどうなりますか?リモートシステムはPOP3またはIMAPサーバーを実行している必要があります。POP3またはIMAPサーバーは、リモートシステムのアカウントからメッセージをフェッチし、必要に応じてIMAPの場合は管理機能を使用してそれらを表示します。 POP3/IMAPはメッセージを送信できません。

POP3またはIMAPを介してリモートサーバーからメールを読み取ることができるアプリケーションでは、SMTPを介してメールを送信することもでき、両方のプロトコルのクライアントである必要があります。 POP3/IMAPとSMTPは、同じホスト上に存在する必要はありません。

セキュリティは、長年にわたってこれらのプロトコルのほとんどに固定されてきました。これらの各プロトコルには、クライアント証明書または認証を要求するオプションの方法があります。 SMTPサーバーは通常、スパムの目的で悪用されるため、認証されていないユーザーの電子メールをリレーしないように保護することが特に重要です。 SMTPのユーザー名/パスワード/証明書は、POP3/IMAPのものとは異なる場合があり、システム上のローカルアカウントとは異なる場合があります。

5
LawrenceC