Enviar email pela linha de comando pode ter várias utilidades em tarefas automatizadas como por exemplo: programação de mala direta, envio de relatórios e logs de processos em servidores, etc, etc. Principalmente em ambiente corporativo, sempre haverá uma utilidade em automatizar um processo, que pode ser via linha de comando no caso do Windows e também do Linux.

Para enviar email vamos utilizar o Blat, um software que se autodescreve como um utilitário de linha de comando Win32 para enviar email por SMTP ou enviar mensagens para usenet via NNTP.

O Blat é grátis e você pode baixa-lo no link www.blat.net.

O problema do Blat é que no caso do Gmail, o servidor SMTP necessita autenticação via SSL na porta 465 ou 587 como podem ver na página de ajuda do Google. Por isso utilizamos o programa, também grátis chamado Stunnel que ajuda o Blat a encaminhar o email de forma segura utilizando SSL na porta smtp do Gmail.

Instalando e Configurando o Stunnel

1. Baixe e instale o Stunnel

2. Depois que você instala o Stunnel, ele cria atalhos para as funções principais, veja no seu menu Iniciar do Windows.

3. Clique no atalho para editar o arquivo stunnel.conf e substitua todas as linhas por estas abaixo, depois salve:

client = yes
output = stunnel-log.txt
debug = 0
taskbar = no

# SERVICE-LEVEL OPTIONS

[SMTP Gmail] accept = 127.0.0.1:1099
connect = smtp.gmail.com:465

[POP3 Gmail] accept = 127.0.0.1:1109
connect = pop.gmail.com:995

Depois que salvar as configurações acima, para usar o Stunnel você deve:

4. Criar o serviço (Apenas na primeira vez que usar o Stunnel) clicando em Service Install.

5. Iniciar o serviço Service Start.

6. Clicar em Run Stunnel.

Usando o Blat

Baixe o Blat e coloque os arquivos dentro da pasta do Windows (c:\windows) pois desta forma quando abrir a linha de comando você poderá chamar o programa de qualquer pasta onde estiver.

Configurando a sua conta do Gmail no Blat

o Blat permite salvar seu login e senha de forma criptografada no registro através do comando install.

blat -install smtp.gmail.com seuemail -u seuemail -pw suasenha – – configsmtp

configsmtp é apenas um nome que criei para esta configuração salva no Windows

Enviando Email no Blat

Se eu quiser fazer um teste agora anexando um arquivo chamado teste.txt posso enviar da seguinte maneira:

blat teste.txt -debug -subject “testeblat” -to [email protected] -server 127.0.0.1:1099

Descrição dos parâmetros utilizados:

-subject (assunto)
-to (endereço de destino)
-server 127.0.0.1:1099 (usar o Stunnel)

obs: o uso do -debug serve para mostrar informaçoes adicionais no processo de testes

Notem que o servidor utilizado foi o 127.0.0.1:1099 que é o endereço da máquina local e da porta onde o Stunnel fará o processo necessário para completar o envio através da porta smtp do Gmail com SSL.

Automatizando para enviar via bat

Salvando o conteúdo abaixo num arquivo envia.bat você pode automatizar o processo de enviar um arquivo anexado para alguém.

c:\windows\blat.exe -p configsmtp -to [email protected] -subject Assunto: -body %1 -server 127.0.0.1:1099

fonte do artigo: Jeff Kastner