メールスプールの目的は何ですか?


10

私が正しく理解していれば、スプールは一時的な保管場所です。従来、メールは「メールスプール」、つまり/var/spool/mailディレクトリ内のメールボックスに格納されていました。したがって、このビューによれば、メールが読み込まれたら、削除するか、他の場所に移動する必要があります。おそらくユーザーのホームディレクトリのどこかに移動します。

メールを処理するこの方法は、私にはあまり効率的ではないようです。そして、procmailこのようなプログラムはどこでこのスキームに適合しますか?メールをホームディレクトリのフォルダに自動的に保存するMDAがある場合、メールスプールを保持する理由は何ですか。


2
スプーリングは、ここで議論されている:en.wikipedia.org/wiki/Spooling#Uses_​​and_advantages、またこのQに私のAを見てだけでなく、ジルを取る:unix.stackexchange.com/questions/82910/...
SLM

回答:


9

従来のUNIXメールクライアントで/var/spool/mail/$USERは、ユーザーの受信トレイです。ユーザーがメールをアーカイブしないことを決定する限り、メールはそこに残ります。一部のメールクライアントは、電子メールを独自のファイルに移動することを要求するか、読み取り後に電子メールを別のファイルに移動するオプションを提供します。ユーザーは、使用するメールクライアントとその構成方法を選択できます。

procmailなどのメール配信エージェント(MDA)を実行する場合は、システムの受信トレイに一部のメールを配信するように設定したり、ホームディレクトリの下のファイルにすべてのメールを配信したりできます(次の場合は、それらのいずれかを受信トレイに呼び出すことができます)あなたが欲しい)。それはユーザーの選択です。

概念的に/var/spool/mail/$USERは、ホームディレクトリ内のファイルと考えることができます。それはほとんどあなたのものです。そのファイルは、メール配信中に利用可能である必要があるため、別の場所にあります。たとえば、システムが通常のファイルを期待する場所に壊れたシンボリックリンクや名前付きパイプを作成することはできません。これにより、デリバリーシステムでの厄介なエラーの可能性が回避されます。ホームディレクトリが1つ以上のファイルサーバー上にあり、メールスプールが別のサーバー上にあるサイトがあります。


たとえば、Gmailを使用して自分のマシンに自分の電子メール/ホスト名を使用して電子メールを送信しようとすると、varスプールメールになりますか?
Ricardo Cruz、

@RicardoCruzマシンが外部からメールを受信するように設定されている場合は、はい。
Gilles 'SO-悪をやめる'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.