Script Bash para enviar e -mail

Script Bash para enviar e -mail
O email é um meio de comunicação muito comum no mundo de hoje agora. Qualquer pessoa pode se comunicar facilmente ou compartilhar qualquer documento com amigos, familiares e colegas enviando o e -mail. Geralmente, as pessoas usam qualquer servidor de e -mail gratuito como Gmail, Yahoo, Hotmail etc. Para enviar o e -mail. Mas você pode enviar e -mail da linha de comando facilmente no sistema operacional Linux. Existem muitas maneiras de enviar e -mails no Linux. Algumas maneiras fáceis e fáceis de enviar email no sistema operacional do Ubuntu do terminal são mostradas neste tutorial.

Inicialização:

Muitos comando linux estão disponíveis para enviar email da linha de comando ou usando um script de bash. Mas qualquer comando de envio de email não funcionará se nenhum servidor SMTP estiver configurado corretamente no sistema. Você pode configurar seu próprio servidor SMTP para enviar email da linha de comando ou pode usar qualquer servidor SMTP gratuito de qualquer provedor de serviços de email conhecido como Gmail ou Yahoo. O servidor SMTP de uma conta do Gmail é usado neste tutorial. Para fazer essa tarefa, você deve selecionar uma conta do Gmail e permitir a opção de 'permitir aplicativos menos seguros' para que essa conta envie o email. Você pode visitar o seguinte tutorial para ativar esta opção.

https: // linuxhint.com/como fazer o email-de-php/

Depois de ativar esta opção, você deve abrir o arquivo '/etc/ssmtp/ssmtp.conf 'com privilégio' root 'e adicione as seguintes linhas no final do arquivo. Você precisa definir seu endereço de e -mail como 'AuthUser' e sua senha de e -mail como 'AuthPass' para concluir a configuração.

UsestartTls = sim
FromLineOverRide = Sim
root = [email protected]
MailHub = Smtp.Gmail.com: 587
AuthUser = nome de usuá[email protected]
AuthPass = senha

Exemplo 1: Usando o comando sendmail

Um dos comandos populares de envio de e -mail do Linux é 'Sendmail'. O usuário pode enviar e -mail facilmente da linha de comando usando este comando. Se o pacote Sendmail não estiver instalado no sistema, execute o seguinte comando para instalar o pacote.

$ sudo apt install ssmtp

Suponha que o conteúdo do email seja armazenado em um arquivo chamado 'Email.txt 'com o seguinte conteúdo. Aqui, o texto após o 'assunto:' será enviado como assunto de e -mail e a parte restante será enviada como corpo de e -mail.

e-mail.TXT

Assunto: enviando email usando sendmail
Testando o corpo de e -mail

Run 'Sendmail' comando com endereço de e -mail do destinatário, como o seguinte comando.

$ sendmail nome de usuá[email protected] < email.txt

Exemplo-2: Usando o comando 'Mail'

O comando mais comum para enviar email no Linux é o comando 'Mail'. Este comando não está instalado no Ubuntu por padrão. Execute o seguinte comando para instalar o comando 'Mail'.

$ sudo apt install Mailutils

O comando a seguir mostrará a versão deste comando se for instalado no sistema.

$ Mail -V

A opção '-s' é usada no comando 'Mail' para definir o assunto do email. Executar o comando 'Mail' por '-s' com o assunto do email e o endereço de e-mail do destinatário, como o seguinte comando. Ele pedirá CC: endereço. Se você não quiser usar o CC: Field, mantenha -o em branco e pressione Enter. Digite o corpo da mensagem e pressione Ctrl+D para enviar o email.

$ Mail -s 'Assunto' Nome de usuá[email protected]

Se você deseja adicionar o corpo da mensagem de e -mail no comando, use '<<<' operator like the following command.

$ Mail -s 'Mensagem Assunto' Nome de usuá[email protected] <<< 'testing message body'

Você também pode adicionar o endereço de e-mail do remetente com o comando 'Mail' usando a opção '-a'. O comando a seguir enviará o email com o assunto, 'Assunto da mensagem', nome do remetente e endereço de e -mail, 'admin' e endereço de e -mail do destinatário, nome de usuá[email protected] e corpo de mensagem, 'Mensagem de teste'.

$ Mail -s 'Mensagem Assunto' -A De: Admin \
nome de usuá[email protected] <<< 'testing message'

Você também pode enviar um órgão de mensagem de e -mail usando o comando Echo e Pipe (|). O comando a seguir usa o comando Pipe (|) para enviar o corpo da mensagem.

$ echo "Mensagem de teste" | Mail -s "Mensagem Assunto" Nome de usuá[email protected]

O email pode ser enviado para vários destinatários usando o comando 'Mail' e adicionando os endereços dos destinatários separando a vírgula. O comando a seguir receberá um email para dois destinatários.

$ Mail -s "Email de teste" nome de usuá[email protected], nome de usuá[email protected] < test.txt

Exemplo-3: Usando o comando 'mutt'

Como o comando 'Mail', o comando 'mutt' não está instalado no Ubuntu por padrão. Execute o seguinte comando para instalar o comando 'mutt'.

$ sudo apt install mutt

O comando 'Mutt' funciona semelhante ao comando 'Mail', mas 'Mutt', tem um editor próprio para enviar o email. Execute o seguinte comando com o endereço de e -mail válido para enviar o email.

$ echo “Mensagem de teste” | Mutt -s "Testing email" nome de usuá[email protected]

Você pode anexar qualquer arquivo usando a opção '-a' com o comando 'email' ou 'mutt'. O seguinte comando anexará os itens do arquivo.txt ao enviar o e -mail.

$ echo "Mensagem de teste" | Mutt -s "Mensagem Assunto" -a itens.txt - nome de usuá[email protected]

Exemplo-4: Usando o comando 'ssmtp'

Outro comando de email é o comando 'ssmtp'. Se o SSMTP não estiver instalado antes, instale o pacote primeiro. O comando de instalação para SSMTP é mostrado no Exemplo 1. Comandos SSMTP e Sendmail funcionam da mesma forma.

Execute o seguinte comando com o endereço de e -mail válido. Digite o assunto e o corpo email. Pressione Ctrl+D para sair e enviar o email.

$ ssmtp nome de usuá[email protected]

Exemplo 5: Usando o comando Mailx

Você pode enviar conteúdo HTML como corpo de email sem apenas enviar a mensagem de texto. Crie um arquivo html chamado 'teste.html 'para usar como corpo de mensagem.

teste.html


>

Envio por e -mail


Testando o corpo da mensagem
<

Comando 'Mailx' funciona como 'Mail' comando. Você precisa mencionar o tipo de conteúdo como texto/html para enviar conteúdo HTML como o corpo da mensagem no comando 'Mailx'. O comando a seguir enviará o conteúdo de 'teste.arquivo html 'como o corpo da mensagem de email.

$ Mailx -a 'Content -Type: text/html' -s "Enviando e -mail usando o Mailx"
< test.html "[email protected]"

Quando você verificar a caixa de entrada da conta de email destinatário, a lista de emails será mostrada como a seguinte imagem.

Conclusão

Depois de praticar os comandos acima corretamente, espero que o leitor possa enviar e -mails da linha de comando facilmente no Linux.