Gerenciamento de Mensagens via Terminal Linux com o Comando mail

No ecossistema Linux, o envio e a recepção de mensagens eletrônicas podem ser realizados diretamente através do terminal utilizando o utilitário mail. Esta ferramenta é essencial para administradores de sistemas que precisam automatizar notificações ou comunicar-se com usuários locais de forma eficiente.

Enviando Mensagens

O comando mail permite tanto a composição interativa quanto o envio rápido através de flags no console. Abaixo, exploramos diferentes abordagens para o envio de e-mails.

1. Modo Interativo

Para enviar um e-mail para um endereço externo de forma interativa, execute o comando seguido do destinatário:

[admin@servidor ~]# mail suporte@empresa.com.br

Subject: Atualização de Infraestrutura

Olá equipe, os servidores passarão por manutenção às 22h.

.
Cc: 

Observações importantes:

  • Para finalizar o corpo da mensagem e enviar, digite um ponto (.) em uma linha vazia ou utilize o atalho Ctrl+D.
  • Para cancelar a composição, utilize Ctrl+C duas vezes consecutivas.

2. Envio Direto com Assunto

Caso o destinatário seja um usuário interno do sistema, você pode simplificar o processo utilizando a flag -s para definir o assunto diretamente:

[admin@servidor ~]# mail -s "Relatório Semanal de Backups" usuario_local

Também é comum redirecionar o conteúdo de um arquivo de texto para o corpo do e-mail, técnica muito útil em scripts de monitoramento:

[admin@servidor ~]# mail -s "Logs de Erro - Servidor Web" admin@dominio.com < /var/log/nginx/error.log

Parâmetros adicionais úteis:

  • -s: Define o assunto (Subject).
  • -c: Envia uma cópia (Cc) para outros endereços.
  • -b: Envia uma cópia oculta (Bcc).

Recebendo e Lendo Mensagens

Para verificar sua caixa de entrada, basta digitar mail sem parâmetros adicionais. O sistema exibirá uma lista das mensagens disponíveis.

[usuario@servidor ~]$ mail
Mail version 8.1. Type ? for help.
"/var/spool/mail/usuario": 2 messages 1 new
>N  1 root@servidor.local   Thu Oct 12 10:15  25/820   "Alerta de Espaço em Disco"
 U  2 suporte@servidor.local Fri Oct 13 09:00  15/450   "Reunião de Alinhamento"
& 

No prompt de comando (representado pelo símbolo &), você pode interagir com as mensagens. O caractere > indica a mensagem atual, N indica uma mensagem nova e U indica uma mensagem não lida.

Comandos Essenciais no Prompt do mail

Ao visualizar o prompt &, os seguintes comandos podem ser utilizados:

Comando Descrição e Uso
h Lista os cabeçalhos das mensagens. Útil para navegar em caixas com muitos e-mails.
t [número] Exibe o conteúdo da mensagem especificada pelo número.
d [número] Marca uma mensagem para exclusão. Exemplo: d1-5 exclui as mensagens de 1 a 5.
s [número] [arquivo] Salva o conteúdo da mensagem em um arquivo específico. Exemplo: s 1 ~/backup_aviso.txt.
q Sair (Quit). Ao usar este comando, as mensagens lidas são movidas para o arquivo ~/mbox e as marcadas para exclusão são removidas permanentemente.
x Sair (Exit). Aborta o programa sem salvar alterações ou mover mensagens lidas. Ideal se você apenas quis ler e não deseja alterar o status da caixa.

Por padrão, as mensagens não lidas residem no diretório do sistema em /var/spool/mail/nome_usuario. Quando você sai do programa usando q, as mensagens já visualizadas são transferidas para o seu diretório pessoal. Para ler essas mensagens arquivadas posteriormente, utillize:

[usuario@servidor ~]$ mail -f ~/mbox

Tags: Linux SysAdmin shell mail-utils CLI

Publicado em 7-6 08:12