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 atalhoCtrl+D. - Para cancelar a composição, utilize
Ctrl+Cduas 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