如何找到我的本地邮件池?

如何找到我的本地邮件池?

我是一名研究生,也是一个相对的Linux新手。这个问题是一个衍生问题我之前的问题。我的机构有一个 Ubuntu Linux 集群。我只是一个用户;我没有系统管理员权限,而且我当然也不具备成为系统管理员的专业知识!

我的问题是,如何找到我的本地邮件池?据我所知,我没有使用邮件传输代理。 我之前的问题的答案建议我寻找一个文件/var/spool/mail/$USER,但不幸的是,我没有看到与我的用户名对应的文件。在 中/var/spool/mail/,使用ls我只看到两个文件:nobodywww-data,它们都是无扩展名文件。

您对我可以在哪里查找邮件假脱机有任何其他想法(据我所知,这可能是本地的,因为我没有配置邮件传输代理)?

答案1

邮件线轴通常位于此处:

/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

然而,邮件线轴不一定是本地的。如果您没有此文件,则您的邮件将保存在另一台服务器上。您可以使用以下协议与此服务器交互IMAP或者POP3

您的邮件后台正是在此系统上进行维护的。

在某些环境中,邮件假脱机可以作为用户主目录的一部分进行共享,通常位于名为 的目录中mail ($HOME/mail)。其他时候,它可以作为自己的共享在类似的东西下共享/mail/users/$USER

这实际上取决于给定环境中的系统管理员如何选择这样做。

答案2

除非您的计算机配置错误,否则该命令mail(或其他邮件程序,例如mutt)将访问您的本地邮箱。通常本地邮箱是/var/spool/mail/$USER/var/mail/$USER。如果邮箱位于非标准位置,系统管理员可能已将系统配置为将MAIL环境变量设置为您邮箱的位置。

如果您从未在该计算机上收到过邮件,则该文件将不存在。给自己发送一封邮件,文件就会被创建。

如果任何邮件曾经在这台机器上投递过,那么邮件传输代理跑步。您永远不会直接与 MTA 交互:这是管理员设置的。

这些文件的存在/var/spool/mail/nobody表明/var/spool/mail/www-data存在(或曾经)有一个 MTA 在本地运行和传送邮件。它们可能包含来自 cron 作业的报告。

仅当其他计算机配置为接收邮件时,您才能够从该计算机接收邮件。在多计算机环境中,通常配置一台计算机来接收所有邮件。这通过域名系统。如果有一个MX记录对于主机,它指示哪个主机将接收发往该主机的邮件。您可以使用host -t MX $HOSTNAME或查看 MX 记录dig MX $HOSTNAME

即使您在本地接收邮件,也可能会被重定向到另一台计算机。检查你是否有一个名为.forward在您的主目录中:它包含将您的邮件重定向到的电子邮件地址,或告诉 MTA 在您收到邮件时要做什么的其他指令。.procmailrc如果 MTA 配置为使用,您可能还拥有一个文件程序邮件投递邮件,这是相当常见的。

答案3

/var/spool/mail/您应该在(传统位置)或/var/mail(新推荐位置)找到它。请注意,其中一个可能是另一个的符号链接,因此最好转到实际目录(而不仅仅是链接)。在这里你应该找到一个与你的用户名同名的文件,那就是你的邮箱。它应该归您所有,因此您应该能够轻松复制它。

答案4

您是否检查过是否postfix配置了邮件传输代理 (MTA)? Postfix 的配置文件通常会有线索。我们的 Postfix 配置文件在这里:/etc/postfix/main.cf

里面有一行这样说:

home_mailbox = Maildir/

这样我们就知道邮件目录 ( Maildir) 位于每个用户的主目录中。

在我们的例子中,我们使用 Dovecot 作为 IMAP 服务器,因此我们在这些Maildir目录中看到 Dovecot 文件。我们还看到子目录curnew.如果您的电子邮件客户端尚未打开邮件,它将位于new目录中。如果已经打开,就会在该cur目录中。

如果您有不同的邮件设置,则此信息可能会有所不同,但这是一种可能性。

相关内容