如何找到本地邮件后台处理程序?


18

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

我的问题是,如何找到本地邮件后台处理程序?据我所知,我没有使用邮件传输代理。 上一个问题的答案表明我正在寻找文件/var/spool/mail/$USER,但是不幸的是,我没有看到与我的用户名相对应的文件。在中/var/spool/mail/,使用,ls我仅看到两个文件:nobodywww-data,这两个文件都是无扩展名的文件。

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


3
试试echo $MAIL
squareborg 2013年

1
您有没有给自己发送电子邮件?邮箱文件通常是根据“需要”创建的。
AnFi

@Shutupsquare这很有趣。当我输入时echo $MAIL,它返回/var/mail/myusernamemyusername我的用户名在哪里。但是当我导航到时/var/mail/,该文件myusername不存在。
安德鲁

@ AndrzejA.Filip除了at在计划的进程生成输出时用于发送本地消息外,我如何尝试向自己发送消息?这对我来说太新了。
安德鲁

您可以使用以下命令向自己发送测试电子邮件:(echo Subject: test; echo) | /usr/sbin/sendmail -i YOUR_LOGIN。其他MTA服务器也提供Sendmail存根(例如postfix,exim)。
AnFi

Answers:


20

邮件线轴通常位于以下位置:

/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笔记本电脑上就是这种情况。从任一目录中删除文件/文件夹可能会从另一目录中删除相应的文件。
trysis

7

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

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

如果在此计算机上传递了任何邮件,则说明邮件传输代理正在运行。您永远不会直接与MTA进行交互:这是管理员设置的。

该文件的存在/var/spool/mail/nobody,并/var/spool/mail/www-data显示有(或曾经)的MTA运行并在本地传递邮件。它们可能包含来自cron作业的报告。

如果将其他计算机配置为接收邮件,则您将只能从该计算机接收邮件。在多计算机环境中,通常将一台计算机配置为接收所有邮件。通过DNS指示。如果主机有MX记录,则表明要接收该主机的邮件的主机。您可以使用host -t MX $HOSTNAME或查看MX记录dig MX $HOSTNAME

即使您在本地接收邮件,也有可能将其重定向到另一台计算机。检查.forward您的主目录中是否有一个文件:该文件包含用于将邮件重定向到的电子邮件地址,或其他指示MTA接收邮件时该怎么做的指令。.procmailrc如果MTA配置为使用procmail传递邮件,则您可能还会有一个文件,这很常见。


6

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


不幸的是,/var/spool/mail//var/mail/每个都只有两个文件:nobodywww-data,这两者都不是我的用户名。谢谢你的时间。
安德鲁

@Andrew-这些目录中缺少用户名只是告诉您在该特定系统上本地没有传递任何邮件。
slm
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.