Bom pessoal , precisei configurar um servidor SMTP de relay
para enviar e-mail de um serviço que necessita de autenticação simples de
e-mail. Por isso resolvi escrever um artigo no blog sobre o assunto. Enfim a
solução que encontrei é compatível com Windows e Linux , mais no meu caso vou
ensinar a fazer a instalação no Windows que foi o meu ambiente que precisou
deste serviço. o servidor de e-mail que utilizei para fazer a configuração foi o Gmail, mais caso queira configurar o E-mail Relay para enviar e-mails através do seu servidor de e-mail consulte a documentação no site oficial do projeto.
Pré-requisitos da instalação:
- Fazer o download do emailrelay no site http://emailrelay.sourceforge.net/
para Windows.Ambiente Utilizado:
- Windows server 2003 Standard
- E-mail Relay versão 1.8.1
1. Efetuando a instalação do E-mail Relay.
Execute o arquivo "emailrelay-1.8.1-setup.exe" e siga as intruções abaixo, das imagens:
2. Após
efetuar a instalação , vamos precisar configurar o emailrelay para enviar
e-mails para o gmail. Abaixo segue o arquivo gerado pelo configurador que
precisará ser editado.
2.1 Arquivo original – emailrelay-start.bat
2.2
Arquivo alterado com as configurações para enviar e-mail com Gmail
Segue
abaixo, arquivo de configuração:
############## Inicio do arquivo de configuração – emailrelay-start.bat ##########
"C:\Arquivos de programas\emailrelay\emailrelay.exe" --as-proxy smtp.gmail.com:587 --client-tls --client-auth "C:\Arquivos de programas\emailrelay\emailrelay.auth" --log --pid-file "C:\Arquivos de programas\emailrelay\emailrelay.pid" --poll 60 --remote-clients --spool-dir C:\Windows\spool\emailrelay --syslog --verbose
############ Final do arquivo de configuração – emailrelay-start.bat ############
############## Inicio do arquivo de configuração – emailrelay-start.bat ##########
"C:\Arquivos de programas\emailrelay\emailrelay.exe" --as-proxy smtp.gmail.com:587 --client-tls --client-auth "C:\Arquivos de programas\emailrelay\emailrelay.auth" --log --pid-file "C:\Arquivos de programas\emailrelay\emailrelay.pid" --poll 60 --remote-clients --spool-dir C:\Windows\spool\emailrelay --syslog --verbose
############ Final do arquivo de configuração – emailrelay-start.bat ############
2.3
verifique o arquivo emailrelay.auth no diretório de configuração , se está
configurado igual o padrão abaixo:
3. Instalado
o serviço do Windows do E-mail Relay, para isso siga as instruções da imagem
abaixo:
Entre
no diretório de instalação do E-mail relay e digite : emailrelay-service.exe –install
3.1
Para verificar se o serviço foi instalado ,
clique no botão (iniciar) -> (executar) -> (services.msc).
Para
iniciar o serviço selecione o mesmo e clique na opção iniciar do mesmo.
4. Para
verificar se o E-mail Relay está enviando os e-mails, cheque o diretório spoll do
serviço.
Pronto , agora é só configurar seu cliente de e-mail para
enviar e-mails utilizando seu servidor de e-mail relay.
Bom Pessoal, vou disponibilizar abaixo os arquivos de configuração para dois servidores de e-mail conhecidos o Hotmail e o Gmail:
Gmail:
Espero ter ajudado a todos que estejam precisando de uma solução assim. Que a Graça e Paz estejam com todos.
Muito massa cara!
ResponderExcluirAlguém já testou com windows 2008 R2 ? Fiz aqui porém não envio o arquivo que fica com extensão busy fica com bad, o que geralmente pode ocorrer quando fica desta forma ?
ResponderExcluirBruno, como pode ter visto implementei a utilização do E-mail Relay no Windows 2003 Server, Mais já utilizei o E-mail Relay num Windows 2008 R2 na empresa que trabalho para fazer testes de envio de e-mail. Para debugar o problema vá até o diretório "C:\Arquivos de programas\emailrelay\" e procure o arquivo emailrelay-start.bat e edite este arquivo com as informações abaixo: "C:\Arquivos de programas\emailrelay\emailrelay.exe" --as-proxy smtp.gmail.com:587 --client-tls --client-auth "C:\Arquivos de programas\emailrelay\emailrelay.auth" --log --pid-file "C:\Arquivos de programas\emailrelay\emailrelay.pid" --immediate --remote-clients --spool-dir C:\Windows\spool\emailrelay --syslog --verbose
ExcluirO Exemplo que postei fica verificando de minuto em minuto se possuí um e-mail para enviar, já a configuração que coloquei neste comentário faz o envio de e-mail de forma síncrona ao você enviar o e-mail pelo cliente de e-mail que esteja utilizando ou script o E-mail relay faz o envio no mesmo momento. Após configurar execute o arquivo emailrelay-start.bat com o serviço do E-mail relay parado e depois Teste o envio de e-mail. Se não conseguir efetuar o envio do e-mail com a configuração que te informei aqui. Encaminhe no meu e-mail: emerson.fender@gmail.com as arquivos de configuração do e-mail relay sendo estes arquivos (emailrelay-start.bat e emailrelay.auth). Qualquer dúvida estou disponível para ajudá-lo.
Emerson,
ResponderExcluirVocê alguma vez tentou utilizar alguma conta da Hotmail para envio ?
Bruno,
ExcluirAinda não fiz nenhuma configuração do e-mail relay para hotmail, mas posso fazer um teste e informar a configuração que utilizarei para o teste se funcionar corretamente. ok?
Qualquer dúvida estou disponível para ajuda-ló.
Bruno,
ExcluirTestei o E-mail Relay com uma conta do hotmail e funcionou normalmente. Vou editar o post e colocar na postagem a configuração que efetuei com o hotmail e com gmail para ficar fácil para configurar , os links estarão no Post para download.
Emerson, precisa habilitar algo no hotmail para pode enviar via smtp ? Testei com uma conta de email @msn.com, não obtive sucesso.
ResponderExcluirBruno,
ExcluirNão precisa habilitar nenhuma configuração adicional para funcionar o envio de smtp do hotmail ou msn. Como você está testando o envio? através de um cliente de e-mail ou linha de comando? você utilizou o arquivo de configuração que disponibilizei para download?
Para efetuar os testes de envio de e-mail, geralmente utilizo está ferramenta:
https://dl.dropbox.com/s/a31soxskc6ythm1/TestaSmtp.zip?dl=1
Configuração do SMTP Tester:
http://3.bp.blogspot.com/-of2ZqFjdZLI/UKvM7uN6CpI/AAAAAAAABPo/m9h1JG_v1Ks/s1600/smtp_teste.PNG
Caso ainda tenha problemas, anexe nos comentários as telas de erro para analisar melhor o problema que está ocorrendo. Pois não estou conseguindo identificar o problema que está ocorrendo com você com informações superficiais, sendo necessário um maior detalhamento do que esteja acontecendo. ok?
emailrelay-start.bat
Excluir"C:\Arquivos de programas\emailrelay\emailrelay.exe" --forward-to smtp.live.com:587 --client-tls --client-auth "C:\Arquivos de programas\emailrelay\emailrelay.auth" --log --pid-file "C:\Arquivos de programas\emailrelay\emailrelay.pid" --immediate --remote-clients --spool-dir C:\WINDOWS\spool\emailrelay --syslog --verbose
#
ResponderExcluir# emailrelay.auth
#
# {server|client}
# mechanism := CRAM-MD5 | LOGIN | APOP | NONE
#
LOGIN client cavanso@outlook.com password
-------Log SMTP Tester -------------
ResponderExcluirData: 20/11/2012 15:49:54
Status: Falha
Erro Message: Armazenamento do sistema insuficiente. A resposta do servidor foi: message processing failed: connection timeout
Stack Trace: em System.Net.Mail.DataStopCommand.CheckResponse(SmtpStatusCode statusCode, String serverResponse)
em System.Net.Mail.DataStopCommand.Send(SmtpConnection conn)
em System.Net.Mail.SmtpConnection.OnClose(Object sender, EventArgs args)
em System.Net.ClosableStream.Close()
em System.Net.Mail.MailWriter.Close()
em System.Net.Mail.SmtpClient.Send(MailMessage message)
em TestaSmtp.Form1.btnTestar_Click(Object sender, EventArgs e)
Target Site (metodo): Void CheckResponse(System.Net.Mail.SmtpStatusCode, System.String)
SMTP
Host: 192.168.0.1
Port: 25
SSL: False
User: cavanso@outlook.com
Password: password
Email
From: 192.168.0.1
To: claudio.bruno@saolucas.edu.br
Subj: teste
Body: teste
-------End Log SMTP Tester ------
Bruno,
ExcluirO Erro informando no SMTP Tester é por problemas de autencicação, verifique no E-mail relay o arquivo C:\Program Files\emailrelay\emailrelay.auth , pois o erro ocorrido é por causo de inconformidade com a autenticação do E-mail Relay.
Coloquei a configuração do gmail e testei o programa de teste de envio que você forneceu funciona beleza, agora coloco a configuração do hotmail não funciona.
ResponderExcluirBruno,
ResponderExcluirAcabei de criar uma conta do outlook.com para testar o envio pelo smtp relay e funcionou normalmente. Até fiz um envio de teste para o email que informou aqui cavanso@outlook.com para demonstrar o funcionamento do E-mail Relay. Só para desencargo de consciência, configurar o SMTP Tester para fazer o envio direto conforme está imagem http://upload.crazzy.com.br/show-image.php?id=b4c4146115c37985aa40cc30d51168da
Pois se o Gmail funcionou, o Hotmail/Outlook também deveria funcionar no seu servidor. Pois efetuei a configuração com o outlook.com e funcionou normalmente.
Prezado Emerson,
ExcluirMuito obrigado pela atenção deu tudo certo, o problema era comigo mesmo, esqueci o basico acesso ao serviço meu firewall estava bloqueando acesso ao smtp.live.com na porta 587, já as redes da google havia sido liberadas na porta 587, por isto funcionava enviando pelo gmail.
Obrigado
Cláudio Bruno
Emerson,
ResponderExcluirÉ possível, trabalhar com mais de um serviço numa mesma maquina, a intenção e trabalhar com mais de uma conta para envio possível ?
Bruno,
ResponderExcluirÉ possível, sim. Na documentação do e-mail relay está informando para que no momento que esteja criando o serviço o arquivo batch responsável pela inicialização do serviço de e-mail tenha um nome único e esse nome único seja informado na criação do serviço.
Exemplo:
Para o script batch para enviar e-mail com conta do gmail(gmail-start.bat) na pasta de instalação do emailrelay.
c:\> emailrelay-server --install gmail
Segue abaixo, link da documentação do emailrelay informando os procedimentos:
http://emailrelay.sourceforge.net/windows.html#H_1
Meu nome é Moisés e sou responsável pela TI da Austral Logística em Salvador.
ResponderExcluirEstava pesquisando e encontrei um post no seu blog de 2012 referente a instalação e configuração do emailrelay
Minha estrutura de correio fica hospedada no UOLHost, e tenho uma aplicação de monitoramento do meu storage da Dell, que tem a função de mandar e-mail de notificação.
Meu único problema é que na configuração do servidor smtp não tem campo para colocar autenticação e a Uol não aceita.
Nesse mesmo servidor local, instalei o email relay seguindo os passos do seu blog, mas não funciona.
Abraços,
Moisés
Moisés,
ExcluirMe envie mais informações do problema no meu e-mail: emerson.fender@gmail.com
Att,
Emerson