Páginas

domingo, 15 de abril de 2012

Manual de instalação e configuração do Email Relay


    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 ############

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.

19 comentários:

  1. Algué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 ?

    ResponderExcluir
    Respostas
    1. Bruno, 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
      O 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.

      Excluir
  2. Emerson,

    Você alguma vez tentou utilizar alguma conta da Hotmail para envio ?

    ResponderExcluir
    Respostas
    1. Bruno,
      Ainda 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ó.

      Excluir
    2. Bruno,

      Testei 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.

      Excluir
  3. Emerson, precisa habilitar algo no hotmail para pode enviar via smtp ? Testei com uma conta de email @msn.com, não obtive sucesso.

    ResponderExcluir
    Respostas
    1. Bruno,
      Nã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?

      Excluir
    2. emailrelay-start.bat

      "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

      Excluir
  4. #
    # emailrelay.auth
    #
    # {server|client}
    # mechanism := CRAM-MD5 | LOGIN | APOP | NONE
    #
    LOGIN client cavanso@outlook.com password

    ResponderExcluir
  5. -------Log SMTP Tester -------------
    Data: 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 ------

    ResponderExcluir
    Respostas
    1. Bruno,

      O 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.

      Excluir
  6. 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.

    ResponderExcluir
  7. Bruno,
    Acabei 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.

    ResponderExcluir
    Respostas
    1. Prezado Emerson,

      Muito 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

      Excluir
  8. Emerson,

    É 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 ?

    ResponderExcluir
  9. Bruno,

    É 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

    ResponderExcluir
  10. Meu nome é Moisés e sou responsável pela TI da Austral Logística em Salvador.

    Estava 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

    ResponderExcluir
    Respostas
    1. Moisés,

      Me envie mais informações do problema no meu e-mail: emerson.fender@gmail.com

      Att,
      Emerson

      Excluir