ローカルメールスプールを見つけるにはどうすればよいですか?


17

私は大学院生であり、Linuxの初心者でもあります。この質問は、以前の質問から派生したものです。私の機関にはUbuntu Linuxクラスターがあります。私はただのユーザーです。私はシステム管理者の権限を持っていませんし、システム管理者になるための専門知識も確かに持っていません!

私の質問は、自分のローカルメールスプールをどのように見つけるかです。私の知る限り、メール転送エージェントを使用していません。 以前の質問への回答から、ファイルを探すことが示唆されました/var/spool/mail/$USERが、残念ながら、ユーザー名に対応するファイルが表示されません。では/var/spool/mail/ls2つのファイルのみが表示されます:nobodywww-data、どちらも拡張子のないファイルです。

メールスプールを検索できる場所について、他にアイデアはありますか(私の知る限り、メール転送エージェントが構成されていないため、おそらくローカルです)。


3
試してくださいecho $MAIL
0x7c0

1
自分にメールを送信しましたか?通常、メールボックスファイルは「必要に応じて」作成されます。
AnFi

@Shutupsquareこれは興味深いです。と入力するとecho $MAIL、が返されます。/var/mail/myusernameここmyusernameで、ユーザー名はどこにありますか。しかし、に移動する/var/mail/と、ファイルmyusernameはそこに存在しません。
アンドリュー

@ AndrzejA.Filip atスケジュールされたプロセスが出力を生成するときにローカルメッセージの送信に使用する以外に、自分にメッセージを送信するにはどうすればよいですか?これは私にとってまったく新しいことです。
アンドリュー

次のコマンドを使用して、テストメールを自分に送信できます(echo Subject: test; echo) | /usr/sbin/sendmail -i YOUR_LOGIN。Sendmailスタブは、他のMTAサーバー(postfix、eximなど)によっても提供されます。
AnFi

回答:


19

通常、メールスプールは次の場所にあります。

/var/spool/mail/$USER

$USERユーザー名はどこですか。たとえば、Fedora Linuxシステムの場合:

$ ls -l /var/spool/mail/
total 1908
-rw-------. 1 root root 1943163 Jul 13 12:00 root
-rw-rw----. 1 rpc  mail       0 Dec 18  2010 rpc
-rw-rw----. 1 saml mail     689 Jul 12 19:38 saml

ただし、メールスプールは必ずしもローカルではありません。このファイルがない場合、メールは別のサーバーで管理されています。IMAPPOP3などのプロトコルを使用して、このサーバーと対話できます。

メールスプールが維持されているのは、このシステム上です。

環境によっては、メールスプールをユーザーのホームディレクトリの一部として共有することができますmail ($HOME/mail)。多くの場合、というディレクトリにあります。他の場合のようなものの下で独自のシェアとして共有することもできます/mail/users/$USER

これは、特定の環境内のシステム管理者がどのように選択するかに大きく依存します。


2
注:/var/mail質問のようにが存在する場合/var/spool/mail、この回答のように、またはその逆のシンボリックリンクである可能性があります。少なくとも、それはSystem76の自宅のUbuntuラップトップの場合です。いずれかのディレクトリからファイル/フォルダを削除すると、おそらく他のディレクトリから対応するファイルが削除されます。
トリシス

7

マシンの設定が間違っていない限り、コマンドmail(またはなどの他のメールプログラムmutt)はローカルメールボックスにアクセスします。通常、ローカルメールボックスは/var/spool/mail/$USERまたは/var/mail/$USERです。メールボックスが標準以外の場所にある場合、システム管理者はシステムを設定して、MAIL環境変数をメールボックスの場所に設定している可能性があります。

そのマシンでメールを受信したことがない場合、ファイルは存在しません。自分にメールを送信すると、ファイルが作成されます。

このマシンでメールが配信された場合、メール転送エージェント実行されています。MTAと直接対話することはありません。管理者が設定するものです。

ファイルの存在は、MTAがローカルで実行および配信されている(またはあった)こと/var/spool/mail/nobody/var/spool/mail/www-data示しています。おそらく、cronジョブからのレポートが含まれています。

そのマシンがメールを受信するように構成されている場合、他のマシンからのみメールを受信できます。複数コンピューター環境では、すべてのメールを受信するように単一のマシンを構成するのが一般的です。これはDNSによって示されます。ホストのMXレコードがある場合、そのホスト宛のメールを受信するホストを示します。host -t MX $HOSTNAMEまたはでMXレコードを表示できますdig MX $HOSTNAME

ローカルでメールを受信して​​いる場合でも、別のマシンにリダイレクトされる可能性があります。.forwardホームディレクトリにファイルが呼び出されているかどうかを確認します。このファイルには、メールのリダイレクト先の電子メールアドレス、またはメールを受信したときにMTAに指示する指示が含まれています。.procmailrcMTAがprocmailを使用してメールを配信するように構成されている場合もファイルがありますが、これはかなり一般的です。


6

/var/spool/mail/(従来の場所)または/var/mail(新しい推奨場所)で見つける必要があります。一方が他方へのシンボリックリンクである可能性があることに注意してください。したがって、実際のディレクトリ(リンクだけではなく)に移動するのが最善です。ここで、ユーザー名と同じファイル、つまりメールボックスを見つける必要があります。所有する必要があるため、簡単にコピーを作成できます。


残念ながら、/var/spool/mail/そして/var/mail/:それぞれが2つだけのファイル持っているnobodywww-data自分のユーザー名ですどちらもが、。御時間ありがとうございます。
アンドリュー

@Andrew-これらのディレクトリにユーザー名がないことは、その特定のシステムでメールがローカルに配信されていないことを示しています。
slm
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.