Questão O que é a mensagem “Você tem um novo email” no Linux / UNIX?


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

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

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

EDITAR: Em relação a esta pergunta, eu seria capaz de me enviar e-mail usando o programa sendmail assim: email@localhost?


369


origem


Eu tenho essa mensagem lá que diz "Este texto é parte do formato interno da sua pasta de e-mail, ..." então é claro que sempre que eu entro sou informado de que tenho e-mail. - GEdgar
@GEdgar: Isso geralmente significa que você deve parar de usar mbox caixas de correio e migrar para Maildir :) - grawity
Relacionado: superuser.com/questions/149282/… - dmckee
Como encaminhar o email: unix.stackexchange.com/questions/26666/… - Melebius
Caso alguém esteja procurando, aqui está o one-liner do powerhshell para dividir isso em arquivos únicos legíveis pelo outlook: $i=0;(gc .\mail\root -raw) -split '[^, ]From '|%{$i++;sc mail$i.eml -value ("From " + $_)} - JDuarteDJ


Respostas:


Onde é esse e-mail?

É provável que esteja no arquivo de spool: /var/mail/$USER ou /var/spool/mail/$USER são os locais mais comuns no Linux e no BSD.

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

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

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

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

Na maioria das vezes, as mensagens contêm a saída de tarefas agendadas ou um relatório de segurança do sistema por logwatchou lixo similar. Leia e descubra.

Quão importante é isso?

Depende muito do conteúdo de cada mensagem.

Você devemos pelo menos escaneie os cabeçalhos dos assuntos - muitas vezes as pessoas ignoram o e-mail por meses sem perceber que seus trabalhos cron diários falham.

Isso é mesmo "mail" 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 e-mail 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 e-mail pessoal. As instruções exatas variam dependendo de qual MTA (se houver) você instalou, se é um computador pessoal ou um servidor, se você tem seu próprio domínio ou usa um @ gmail.com, e assim por diante.

Observe que /usr/sbin/sendmail hoje em dia é uma API compartilhada e não faz significa necessariamente o MTA Sendmail original. Na verdade, você não deveria use o Sendmail, mas algo mais moderno como o OpenSMTPD, o Postfix ou o Exim4. Todos eles fornecem o mesmo /usr/sbin/sendmail ferramenta, mas eles são mais fáceis de configurar, mais seguros e tão poderosos.


306



Boa resposta. Se você tivesse adicionado links com informações sobre como configurar o OpenSMTPD, o Postfix ou o Exim4 para encaminhar mensagens para o seu endereço de e-mail normal, teria sido ainda melhor. - imolit
Aqui está uma questão relacionada que mostra como configurar vira-lata: askubuntu.com/a/499335/75735 - KalenGi
Ótima resposta. Mas como eu uso mail ler e-mail? o manpage não diz. - jpaugh
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
@grawity devo apagar os arquivos em /var/mail/ quando os leio ou simplesmente apago o texto dentro deles? obrigado! - yaylitzis


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

cat /var/spool/mail/root

178



Melhor resposta prática até agora que realmente acrescenta ao conhecimento. Agora eu posso ler o email. Eu me pergunto por que é a parte inferior da resposta. - CDR
Eu percebo que esta é uma pergunta / resposta bem antiga, mas este XKCD é relevante para a discussão. (sugestão: texto suspenso) - Blackhawk
Ou apenas less $MAIL se você quiser navegar. - Walf
Ou less +G $MAIL para começar no final. - Charlie Gorichanaz
@Blackhawk E agora ainda mais este XKCD. - dessert


Apenas para oferecer alguns esclarecimentos, é há muito tempo que as caixas UNIX executam um daemon de mailer "configurado localmente" que não roteia mensagens pela Internet, mas copia mensagens para outros usuários de diretórios de spool (como @John T mencionado). É um verdadeiro e-mail compatível com SMTP, ele simplesmente não é roteado pela Internet porque não precisa ser.

Então, se você acionar um cliente de e-mail (como alpine ou mutt) você pode enviar mensagens para outros usuários no sistema, endereçando user@hostnameou, em muitos casos, apenas especificando o usuário. Você também provavelmente tem um utilitário de linha de comando chamado mailx que pode ser usado para enviar um email rápido usando seu shell.

Agora, se você quiser enviar mensagens para usuários em sistemas diferentes daquele em que você está logado, é aí que a verdadeira diversão começa. Você precisará configurar seu daemon mailer para reconhecer e enviar e-mails externos para um agente de transferência, configurar o agente de transferência e fazer um monte de coisas que eu ainda não entendi.


36





Para quem quer saber como ler essas mensagens uma a uma, você pode simplesmente usar 'mail'

$ mail

Em seguida, digite um número de mensagem na lista que você deseja ler.

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

Para ver mais sobre como mail programa funciona, veja a saída de man mail.


36



//, Isso não funciona de verdade, no CEntOS 6. Nesse caso, deve-se usar $ mailx. - Nathan Basanese
No Ubuntu 16.04, eu preciso primeiro instalar mailutils Correndo apt install mailutils - Edwin Yip
Nas instâncias do Amazon EC2, você pode instalá-lo usando sudo yum install mail - JonDoe297
Funciona para mim no macOS - juanmirocks


Onde é esse e-mail?

Muito provavelmente armazenado em sua máquina, na pasta de caixa de correio para seu usuário root (onde THAT está depende do tipo de servidor de correio que você instalou). Você provavelmente pode acessá-lo rapidamente alpino.

O que contém?

Provavelmente apenas algumas coisas do tipo de relatório do sistema. "Assim e assim tentou entrar 10 vezes com uma senha incorreta" .. "Eu gostaria que alguém executasse atualizações em mim", "driver"  tal e tal está falhando constantemente "," O bot 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.


23



Acho que a sugestão de John de que está armazenada em / var / spool / mail / root é baseada na (boa) suposição de que você está executando o sendmail. Acho que outros servidores de e-mail usam locais diferentes para armazenar e-mails. - James T Snell
Existe uma maneira de os usuários usarem o subsistema de mensagens? - n0pe
Fênix Branca: Eu vou dar uma olhada quando meu e-mail é quando eu recebo a mensagem novamente :) Existe uma maneira de eu desencadear isso ou isso é muito localizado de uma pergunta? - n0pe
Se você quiser explorar seu próprio servidor de e-mail (que as pessoas usam em um sentido típico de e-mail), primeiro ajudaria a saber que distro você está usando? Sem essa informação, tudo o que eu vou dizer é que eu sugiro que você leia o sendmail (como você provavelmente já está rodando o sendmail) .. - James T Snell
A maioria deles está executando o AIX, mas gostaria de explorar isso em minha estação de trabalho em casa executando o OpenSuSe - n0pe


Este e-mail é normalmente localizado em /var/spool/mail/root quando o daemon sendmail padrão (usual) está configurado. Ele contém uma mensagem de e-mail RAW que pode ser lida pelo mail utilidade. Quem enviou pode ser encontrado executando o mail utilitário e paginação através das 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 correio como meio de relatório e registro. Os utilitários do inspetor de logs e outros serviços podem enviar um email para o usuário root 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 o alertará se ele não enviar uma saída de e-mail.


13



Existe uma maneira de ver como o meu subsistema de email está configurado? - n0pe
@Max o sendmail.mc O arquivo controla a configuração do daemon do sendmail na maioria das instalações padrão. Normalmente está localizado abaixo /etc/mail. - John T
@ Max eu recomendo fortemente a leitura através 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 /etc/mail.rc que não está relacionado com sendmail - Timo


less +G /var/spool/mail/root

mostra as últimas mensagens, no final, se o arquivo.

Mostrar diretamente o arquivo de mensagens é uma boa ideia, mas usando cat pode facilmente dar errado. Você não quer todos Os e-mails são percorridos, 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

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

É uma opção de less, fazendo com que mostre a última página do arquivo depois de iniciar. Isso mostra a última mensagem (mais recente), se couber a uma página, ou o final disso, de outra forma.

O nome do arquivo pode ser /var/spool/mail/mail ao invés de /var/spool/mail/root


10



// Excelente desdobramento. Essa resposta seria especialmente útil para as pessoas que não sabem com facilidade o que fazer com o arquivo. - Nathan Basanese
Caso alguém esteja se perguntando, +G "faz com que menos exiba inicialmente cada arquivo a partir do final, em vez do início." (linux.die.net/man/1/less) - Sam
@Sam Obrigado, refinado um pouco mais. - Volker Siegel