O que é a mensagem "Você tem novos e-mails" no Linux / UNIX?


426

Às vezes, quando eu entro em uma caixa e 'su' para fazer root, recebo uma pequena mensagem bonitinha dizendo que tenho e-mail (graças a Deus não é AOL).

  • Onde está esse e-mail?
  • O que contém?
  • Quem / O que enviou?
  • Quão importante é isso?

Isso é mesmo "correio" real no mesmo sentido que o email? Ou é apenas o meu sistema me dizendo alguma coisa?

EDIT: Em relação a esta pergunta, eu seria capaz de me enviar e-mail usando o programa sendmail da seguinte forma [email protected]:?


Eu tenho essa mensagem dizendo: "Este texto faz parte do formato interno da sua pasta de email, ...". Portanto, é claro que sempre que eu faço login, sou informado de que tenho emails.
GEdgar

1
@GEdgar: Isto significa geralmente que você deve parar de usar mbox caixas de correio e migrar para Maildir :)
grawity



1
No caso de alguém está olhando, aqui é powerhshell one-liner para divide isso em arquivos individuais legíveis pelo Outlook:$i=0;(gc .\mail\root -raw) -split '[^, ]From '|%{$i++;sc mail$i.eml -value ("From " + $_)}
JDuarteDJ

Respostas:


354

Onde está esse e-mail?

É provável que esteja no arquivo em spool: /var/mail/$USERou /var/spool/mail/$USERsão os locais mais comuns no Linux e no BSD.

(Outros locais são possíveis - verifique se $MAILestá definido - mas, por padrão, o sistema apenas informa sobre isso /var(/spool)/mail.)

Normalmente, o arquivo em spool está em um formato mbox muito simples , para que você possa abri-lo em um editor de texto ou pager.

Para uma maneira um pouco mais conveniente, a maioria das distribuições vem com um programa chamado mail(ou Mail, mailx). Você pode tentar muttou alpine; você pode até configurá-lo para ser enviado para uma caixa de correio externa. (Consulte "este e-mail real?" Abaixo.)

O que ele contém e quem / o que o enviou?

Na maioria das vezes, as mensagens contêm saída de trabalhos cron, ou um relatório de segurança do sistema por logwatch ou lixo eletrônico semelhante. Leia e descubra.

Quão importante é isso?

Depende muito do conteúdo de cada mensagem.

Você deve pelo menos verificar os cabeçalhos do assunto - geralmente as pessoas ignoram o e-mail por meses, sem perceber que seus trabalhos cron diários falham.

Isso é mesmo "correio" real no mesmo sentido que o email? Ou é apenas o meu sistema me dizendo alguma coisa?

Sim para ambos - é gerado pelo seu sistema informando algo, mas também é um email real e pode ser tratado como tal.

Você pode (e deve) configurar seu software de email - o "MTA" aka /usr/sbin/sendmail- para encaminhar as mensagens para o seu endereço de email pessoal. As instruções exatas variam de acordo com o MTA (se houver) que você instalou, seja um computador pessoal ou um servidor, se você possui seu próprio domínio ou usa um @ gmail.com e assim por diante.

Observe que /usr/sbin/sendmailhoje em dia é uma API compartilhada e não significa necessariamente o MTA original do Sendmail. Na verdade, você não deve usar o Sendmail, mas algo mais moderno como o OpenSMTPD, Postfix ou Exim4. Todos eles fornecem a mesma /usr/sbin/sendmailferramenta, mas são mais fáceis de configurar, mais seguros e igualmente poderosos.


3
Boa resposta. Se você tivesse adicionado links com informações sobre como configurar o OpenSMTPD, Postfix ou Exim4 para encaminhar emails para o seu endereço de email normal, teria sido ainda melhor.
Imolit

1
Aqui está uma pergunta relacionada que mostra como configurar vira-lata : askubuntu.com/a/499335/75735
KalenGi

Ótima resposta. Mas como eu uso mailpara ler e-mails? A página de manual não diz.
jpaugh

1
Eu vi meu e-mail com o comando cat / var / mail / $ USER e o removi com o comando rm -rf / var / mail / $ USER.
Sinan Eldem

@rawrawity devo excluir os arquivos /var/mail/quando os ler ou simplesmente limpar o texto dentro deles? obrigado!
yaylitzis

206

A maneira mais fácil para mim era executar o seguinte em um terminal:

cat /var/spool/mail/root

5
A melhor resposta prática até agora que realmente contribui para o conhecimento. Agora eu posso ler o correio. Eu me pergunto por que é a parte inferior da resposta.
CDR

37
Sei que essa é uma pergunta / resposta bastante antiga, mas esse XKCD é relevante para a discussão. (dica: texto suspenso)
Blackhawk

11
Ou apenas less $MAILse você quiser navegar.
Walf

7
Ou less +G $MAILpara começar no final.
Charlie Gorichanaz

4
@Blackhawk E agora ainda mais este XKCD .
dessert

56

Para quem quer saber como ler essas mensagens uma a uma, basta usar 'mail'

$ mail

Em seguida, digite um número de mensagem da lista que deseja ler.

Para ir para a próxima mensagem, você pode digitar 'next', outro comando útil é 'delete'.

Para ver mais sobre como o mailprograma funciona, consulte a saída de man mail.


3
//, isso realmente não funciona, no CEntOS 6. Nesse caso, é preciso usar $ mailx.
Nathan Basanese

6
No Ubuntu 16.04, eu preciso primeiro instalar mailutilsexecutandoapt install mailutils
Edwin Yip

Nas instâncias do Amazon EC2, você pode instalá-lo usandosudo yum install mail
JonDoe297

1
Funciona para mim no macOS
juanmirocks

39

Apenas para esclarecer, há muito tempo que as caixas UNIX executam um daemon de mala direta "configurado localmente" que não roteia mensagens pela Internet, mas apenas copia mensagens para diretórios de spool de outros usuários (como @John T mencionado). É um email real compatível com SMTP, mas não é roteado pela Internet porque não precisa ser.

Portanto, se você iniciar um cliente de email (como alpineou mutt), poderá enviar email para outros usuários no sistema endereçando para [email protected], ou em muitos casos, apenas especificando o usuário. Você provavelmente também tem um utilitário de linha de comando chamado mailxque pode ser usado para enviar um email rápido usando seu shell.

Agora, se você deseja enviar mensagens para usuários em sistemas diferentes daquele em que está conectado, é aí que a verdadeira diversão começa. Você precisará configurar seu daemon do mailer para reconhecer e enviar email externo para um agente de transferência, configurar o agente de transferência e fazer um monte de coisas que ainda não me entendo.


24

Onde está esse e-mail?

Provavelmente armazenado em sua máquina, na pasta da caixa de correio do usuário root (onde ISSO depende do tipo de servidor de email que você instalou). Provavelmente, você pode acessá-lo rapidamente através do alpine .

O que contém?

Provavelmente apenas algumas coisas do tipo relatório de sistema. "Então tentei fazer login 10 vezes com uma senha incorreta" .. "Gostaria que alguém me atualizasse", "o driver está constantemente falhando", "O bot da NSA aumentou o desempenho em 1%" .. etc ..

Quem / O que enviou?

Serviços no seu servidor, provavelmente.

Quão importante é isso?

Depende da importância do seu servidor.


Acho que a sugestão de John de que ele esteja armazenado em / var / spool / mail / root se baseia em (boa) suposição de que você está executando o sendmail. Eu acho que outros servidores de correio usam locais diferentes para armazenar correio.
James T Snell

Existe uma maneira de os usuários usarem o subsistema de correio?
N0pe

White Phoenix: Vou dar uma olhada quando meu e-mail for quando receber a mensagem novamente :) Existe uma maneira de acioná-lo ou essa pergunta é muito localizada?
N0pe 4/07

Se você deseja explorar a execução do seu próprio servidor de correio (que as pessoas usam no sentido típico de e-mail), seria melhor saber qual distro você está executando? Sem essa informação, tudo o que eu vou dizer, é que eu sugiro que você leia-se sobre sendmail (como você provavelmente está executando sendmail já) ..
James T Snell

A maioria deles está executando o AIX, mas eu gostaria de explorar isso na minha estação de trabalho em casa, executando o OpenSuSe
n0pe

14

Esse email geralmente está localizado /var/spool/mail/rootquando o daemon sendmail padrão (usual) é configurado. Ele contém uma mensagem de email RAW que pode ser lida pelo mailutilitário. Quem o enviou pode ser encontrado executando o mailutilitário e paginando as mensagens ou lendo os cabeçalhos RAW.

A importância da mensagem geralmente depende do fator anterior, que a enviou :)

Muitos utilitários de sistema usarão o subsistema de email como um meio de relatório e registro. Os utilitários do observador de logs e outros serviços podem enviar um email ao usuário raiz local como um lembrete sobre um evento específico, como pouco espaço em disco ou erros de hardware. O daemon do mailer também alertará se houver falha ao enviar uma saída de email.


Existe uma maneira de ver como meu subsistema de email está configurado?
N0pe 04/07/11

@Max o sendmail.mcarquivo controla a configuração do daemon sendmail na maioria das instalações padrão. Geralmente está localizado abaixo /etc/mail.
John T

@ Max Eu recomendo fortemente a leitura de um tutorial como linuxhomenetworking.com/wiki/index.php/… para ajudá-lo a configurar o daemon do mailer conforme desejado.
John T

No ubuntu 16.4., Eu tenho o /etc/mail.rcque não está relacionado.sendmail
Timo

12

less +G /var/spool/mail/root

mostra os e-mails mais recentes, no final, se o arquivo

Mostrar diretamente o arquivo de mensagens é uma boa ideia, mas o uso catpode ser errado. Você não deseja que todos os emails sejam rolados, se houver muitas mensagens ou mensagens muito longas no arquivo. Acabei de ver um com 150MB, dois milhões de linhas.

Se você não é root:

sudo less +G /var/spool/mail/root

A +Gopção é usada para mostrar a mensagem mais recente primeiro; Não está no topo do arquivo, mas no final.

É uma opção de less, fazendo com que ele mostre a última página do arquivo após o início. Isso mostra a última mensagem (mais recente), se ela se encaixa em uma página ou, no final, caso contrário.

O nome do arquivo pode estar em /var/spool/mail/mailvez de/var/spool/mail/root


//, Excelente desagregação. Essa resposta seria especialmente útil para as pessoas que não sabem facilmente o que fazer com o arquivo.
Nathan Basanese

4
Caso alguém mais esteja se perguntando, +G"faz com que menos exiba inicialmente cada arquivo começando no final e não no início". ( Linux.die.net/man/1/less )
Sam
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.