Como enviar e-mail a partir da linha de comando do linux

A linha de comando Linux pode ser muito poderosa quando você sabe como usá-lo. Você pode analisar dados, monitorar processos, automatizar backups e fazer um monte de outras coisas úteis e interessantes de usá-lo. Há muitas vezes vem a necessidade de gerar um relatório e enviá-lo para fora. Poderia ser tão simples uma exigência como uma notificação de que o backup do dia passou por multa, ou não. Eu vou ajudá-lo a começar com o envio de mails a partir da linha de comando do Linux e

em scripts shell. Nós também irá cobrir o envio de anexos a partir da linha de comando. Vamos começar com o comando “mail”.

ENVIAR

Primeiro executar um teste rápido para se certificar da aplicação “sendmail” está instalado e funcionando corretamente. Execute o seguinte comando, substituindo “[email protected]” com o seu endereço de e-mail.

# -mail -s “Olá, mundo” [email protected]

Pressione a tecla de retorno e você chegará a uma nova linha. Digite o texto “Este é um teste do meu servidor”. Seguir-se o texto batendo a tecla Enter novamente. Em seguida, bateu a combinação de teclas de Controlo + D continuar. O prompt de comando irá perguntar se você deseja marcar uma cópia do e-mail para qualquer outro endereço, hit Controlo + D novamente. Verifique sua caixa de correio. Este comando irá enviar um e-mail para o e-mail id mencionado com o assunto: “Olá, mundo”.

Para adicionar conteúdo ao corpo do e-mail durante a execução do comando que você pode usar as seguintes opções. Se você quiser adicionar texto em seu próprio país:

# echo “Este entrará no corpo do e-mail.” | -mail -s “Olá, mundo” [email protected]

E se você quiser enviar para ler o conteúdo de um arquivo:

# -mail -s “Olá, mundo” [email protected] lt; /home/calvin/application.log

Algumas outras opções úteis no comando MAIL são:

-s sujeitas (O assunto do e-mail)
-c endereço de email (Marque uma cópia a este “e-mail”, ou CC)
-b endereço de email (Marque uma cópia oculta a este “e-mail”, ou BCC)

Video: como utilizar o terminal linux prompt linha de comando ubuntu

Veja como você pode usar essas opções:



# echo “Bem-vindo ao mundo da Calvin n Hobbes” | -mail -s “Olá, mundo” [email protected] -c [email protected] -b [email protected]

MUTT

Uma das principais desvantagens de usar o comando mail é que ele não suporta o envio de anexos. vira-lata, por outro lado, o suporta. Eu encontrei esse recurso particularmente útil para scripts que geram relatórios de não-textuais ou backups que são relativamente pequenos em tamanho que eu gostaria de fazer backup em outro lugar. Claro, vira-lata permite que você faça muito mais do que apenas enviar anexos. É um cliente de email de linha de comando muito mais completo do que o comando “mail”. Agora vamos explorar o material básico que poderá ser necessário frequentemente. Veja como você anexar um arquivo a um e-mail:

# echo “O envio de um anexo.” | vira-lata -a backup.zip -s “attachment” [email protected]

Este comando irá enviar um e-mail para [email protected] com o assunto (s) “attachment”, o corpo do texto “Enviando um anexo.”, Que contém o anexo backup.zip (-a). Como com o comando mail que você pode usar a opção “-c” para marcar uma cópia para outra id mail.

Video: Enviar email con línea de comandos desde linux CentOS usando Gmail

Enviando e-mails de um shell script

Agora, com os princípios básicos que você pode enviar e-mails de seus scripts shell. Aqui está um script shell simples que lhe dá uma leitura do uso do espaço em suas partições e e-mails os dados para você.

#! / Bin / bash
df -h | -mail -s “relatório de espaço em disco” [email protected]

Guarde estas linhas em um arquivo em seu servidor Linux e executá-lo. Você deverá receber um e-mail contendo os resultados do comando. Se, no entanto, é preciso enviar mais dados do que apenas isso você vai precisar para escrever os dados para um arquivo de texto e inseri-lo no corpo da mensagem ao compor o e-mail. Aqui está e exemplo de um shell script que recebe o uso do disco, bem como o uso de memória, grava os dados em um arquivo temporário e, em seguida, entra tudo no corpo do e-mail que está sendo enviado:

#! / Bin / bash
df -h gt; /tmp/mail_report.log
free -m gt; gt; /tmp/mail_report.log
-mail -s “relatório de disco e RAM” [email protected] lt; /tmp/mail_report.log

Ora aqui está um problema mais complicado. Você tem que ter um backup de alguns arquivos e enviar, em seguida, para fora. Primeiro, o diretório a ser enviado para fora é arquivada. Em seguida, ele é enviado como um anexo de e-mail usando vira-lata. Aqui está um script para fazer exatamente isso:

Video: Configuração Envio de e-mails pelo Terminal - Linux

#! / Bin / bash
alcatrão -zcf /tmp/backup.tar.gz / home / Calvin / arquivos
echo | vira-lata -a /tmp/backup.tar.gz -s “backup diário de dados” [email protected]

O eco no início da última linha adiciona um espaço em branco no corpo do e-mail que está sendo definido.

Isso deve começar com o envio de mails formar a linha de comando do Linux e de scripts shell. Leia-se a página “man” para ambos mail e vira-lata para mais opções (digite os comandos “homem do correio” e “homem vira-lata” para o manual completo em cada).


Artigos relacionados