Gostaria de ajudar?

quinta-feira, 17 de maio de 2012

Enviando Email com anexo via Terminal

Olá a todos,
Se você precisa enviar um email com um anexo via terminal do Linux não precisa se preocupar que não tem segredo, para isso basta instalar um programa (ssmtp) e fazer algumas configurações que já será possível enviar email via terminal.
Caso você queira somente enviar o email com menssagem de texto os passos a se seguir são o seguinte:
Obs: configuração para email GMAIL para outros emails ainda não testei.

> apt-get update

Já que estamos com a lista atualisada é só instalar o ssmtp com o comando?

>apt-get install ssmtp

Após a instalação do SSMTP é preciso configura dois arquivos que são /etc/ssmtp/ssmtp.conf e /etc/ssmtp/revaliases.

- Configurando o ssmtp.conf

Neste arquivo iremos modificar o Mailhub (endereço do servidor SMTP que será utilizado que para o gmail é smtp.gmail.com:465), FromLineOverride (serve para determinar se os ervidor SMTP aceita que seja enviado um email com remetente diferente), UseTLS (especifica se os ervidor utiliza TLS ou SSL), AuthPAss (senha do e-mail, neste caso do GMAILS), AuthUser (nome de usuário do servidor SMTP, neste caso seuemail@gmail.com). Existem outros  itens, mas não serão abordados aqui.
Abra o arquivo ssmtp.conf com o seu editor de preferência:

>vi /etc/ssmtp/ssmtp.conf

Modifique, insira ou acrescente as seguinte linhas?

FromLineOverride=NO
Mailhub=smtp.gmail.com:465
UseTLS=YES

Agora abra o arquivo revaliases

>vi /etc/ssmtp/revaliase

e acrescente, insira ou modifique a seguinte linha?

root:seuemail@gmail.com:smtp.gmail.com:465

Agora que já esta tudo configurado precisamos criar um arquivo texto com a menssagem a ser enviada.
Para isso crie um arquivo texto e depois insira o email (destinatário), o assunto e a menssagem:

>vi email.txt

dentro doa rquivo email.txtx insira:

To: emaildestinatario@dominio.com
Subject: Email Teste

Esta é uma menssagem teste enviada via terminal.

Para enviar esta menssagem que acabamos de criar via linha de comando no terminal devemos digitar o seguinte:

> ssmtp emaildestinatario@dominio.com -auseuemail@gmail.com -apsuasenha < email.txt

Neste comando acima observe para não esquecer do (-au) antes do seu email e (-ap) antes da sua senha.
Pronto agora você já pode enviar email do GMAIL pelo terminal.

Para enviar o email com um anexo é preciso seguir mais alguns passos:
Para isso é preciso conferir se você tem o (mutt) instalado em sua maquina (/usr/ports/mail/mutt) caso não instale-o.
Neste caso você pode escolher inserir no arquivo ssmtp.conf o seu usuario e senha acrescentando as duas linhas seguintes?

AuthPass=sua senha
AuthUser=seuemail@gmail.com

Desta forma para enviar um email no terminal só bastaria digitar:

>ssmtp emaildestinatario@dominio.com < email.txt

Feito isso precisamos configurar o MUTT para isso siga os passos seguintes:
Passo - 1
Crie um arquivo (script) com o seguinte conteúdo:

>vi enviaemail.sh
#!/bin/sh
/etc/ssmtp$@

Passo - 2
Coloque o script que você criou acima na pasta /usr/local/bin
Passo - 3
dentro do diretório /home crie um arquivo chamado de (.muttrc) e insira o seguinte:
set sendmail="/usr/local/bin/enviaemail.sh"

Pronto já é possível enviar email com anexo via seu terminal, para isso use o seguinte comando:

> mutt -a arquivo.rar -a arquivo2.jpg -s 'Assunto' emaildestinatario@gmail.com < /dev/null

O /dev/null é para que o envio seja automático e não interativo.

Boa Sorte e Bom trabalho a Todos.

Nenhum comentário :

Postar um comentário