Como posso encontrar meu spool de correio local?

18

Eu sou um estudante de graduação e um relativo iniciante em Linux. Esta pergunta é uma espécie de derivação da minha pergunta anterior . Minha instituição possui um cluster do Ubuntu Linux. Eu sou apenas um usuário; Eu não tenho permissões de administrador de sistema e certamente não tenho o conhecimento necessário para ser um administrador de sistema!

Minha pergunta é: como encontro meu spool de correio local? Tanto quanto sei, não estou usando um agente de transferência de mensagens. As respostas à minha pergunta anterior sugeriram que eu procurasse um arquivo /var/spool/mail/$USER, mas, infelizmente, não vejo um arquivo correspondente ao meu nome de usuário. Em /var/spool/mail/, usando, lsvejo apenas dois arquivos: nobodye www-data, que são arquivos sem extensão.

Você tem outras idéias de onde posso procurar meu spool de e-mail (que provavelmente é local, pois não tenho um agente de transferência de e-mail configurado, pelo que sei)?

Andrew
fonte
3
tryecho $MAIL
0x7c0
1
Você enviou um email para si mesmo? Os arquivos da caixa de correio geralmente são criados "conforme necessário".
AnFi13 Jul13
@Shutupsquare Isso é interessante. Quando digito echo $MAIL, ele retorna /var/mail/myusernameonde myusernameestá o meu nome de usuário. Mas quando eu navego para /var/mail/, o arquivo myusernamenão existe lá.
13133 Andrew
@ AndrzejA.Filip Além de atenviar uma mensagem local quando um processo agendado gera saída, como posso tentar enviar uma mensagem para mim mesmo? Tudo isso é novo para mim.
13133 Andrew
Você pode usar o seguinte comando para enviar e-mail de teste para si mesmo: (echo Subject: test; echo) | /usr/sbin/sendmail -i YOUR_LOGIN. O stub do Sendmail também é fornecido por outros servidores MTA (por exemplo, postfix, exim).
AnFI 13/07

Respostas:

20

Os spools de correio geralmente estão aqui:

/var/spool/mail/$USER

Onde $USERestá o seu nome de usuário? Por exemplo, no meu sistema 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

No entanto, os spools de email não são necessariamente locais. Se você não tiver esse arquivo, seu e-mail será mantido em outro servidor. Você pode interagir com este servidor usando protocolos como IMAP ou POP3 .

É neste sistema em que seu spool de email está sendo mantido.

Em alguns ambientes, o spool de email pode ser compartilhado como parte do diretório inicial de um usuário, geralmente em um diretório chamado mail ($HOME/mail). Outras vezes, ele pode ser compartilhado como sua própria parte sob algo como /mail/users/$USER.

Realmente depende de como os administradores do sistema em um determinado ambiente optam por fazê-lo.

slm
fonte
2
Nota: se houver /var/mail, como na pergunta, pode ser um link simbólico para /var/spool/mail, como nesta resposta, ou o contrário. Pelo menos, esse é o caso do meu laptop ubuntu doméstico da System76. A remoção de arquivos / pastas de qualquer diretório provavelmente excluiria o arquivo correspondente do outro diretório.
#
7

A menos que sua máquina esteja configurada incorretamente, o comando mail(ou outros programas de correio como mutt) acessará sua caixa de correio local. Normalmente, a caixa de correio local é /var/spool/mail/$USERou /var/mail/$USER. Se a caixa de correio estiver em um local não padrão, o administrador do sistema pode ter configurado o sistema para definir a MAILvariável de ambiente para o local da sua caixa de correio.

Se você nunca recebeu e-mails nessa máquina, o arquivo não existe. Envie um e-mail para você mesmo, e o arquivo será criado.

Se alguma mensagem for entregue nesta máquina, um agente de transferência de mensagens estará em execução. Você nunca iria interagir diretamente com o MTA: é algo que o administrador configurou.

A existência dos arquivos /var/spool/mail/nobodye /var/spool/mail/www-datamostra que existe (ou houve) um MTA executando e entregando correio localmente. Eles provavelmente contêm relatórios de tarefas cron.

Você só poderá receber mensagens de outras máquinas se essa máquina estiver configurada para receber mensagens. Em um ambiente com vários computadores, é comum configurar uma única máquina para receber todos os emails. Isso é indicado através do DNS . Se houver um registro MX para um host, isso indica qual host deve receber o email destinado a esse host. Você pode ver o registro MX com host -t MX $HOSTNAMEou dig MX $HOSTNAME.

Mesmo se você estiver recebendo e-mails localmente, é possível que ele seja redirecionado para outra máquina. Verifique se você tem um arquivo chamado .forwardem seu diretório pessoal: ele contém um endereço de e-mail para o qual redirecionar seu e-mail ou alguma outra diretiva informando ao MTA o que fazer ao receber e-mails. Você também pode ter um .procmailrcarquivo se o MTA estiver configurado para usar o procmail para entregar o correio, o que é bastante comum.

Gilles 'SO- parar de ser mau'
fonte
6

Você deve encontrá-lo /var/spool/mail/(no local tradicional) ou /var/mail(no novo local recomendado). Observe que um pode ser um link simbólico para o outro, portanto, é melhor ir para o diretório atual (e não apenas um link). Aqui você deve encontrar um arquivo chamado igual ao seu nome de usuário, que é sua caixa de correio. Ele deve pertencer a você, para que você possa facilmente fazer uma cópia dele.

Baard Kopperud
fonte
Infelizmente, /var/spool/mail/e /var/mail/cada um tem apenas dois arquivos: nobodye www-data, nenhum dos quais é meu nome de usuário. Obrigado pelo seu tempo.
13133 Andrew
@ Andrew - a falta de seu nome de usuário nesses diretórios apenas informa que não houve nenhum correio entregue localmente nesse sistema específico.
Slm