Desenvolvimento de Sites e Aplicações Ricas na Internet
Ícone RSS Ícone E-Mail Ícone Página Principal
  • Enviar e-mails pelo PHP no Windows

    Publicado em 31/08/2008 às 23:07:52 Categorias: Desenvolvimento de Software, PHP Tags: , , , Sem comentários

    Quem desenvolve em PHP e utiliza o Windows como plataforma de desenvolvimento e testes tem uma grande dificuldade quando precisa disparar e-mails utilizando a função mail() do PHP.

    Isso não é nenhum problema no Linux portanto essa dificuldade na maioria das vezes não é encontrada quando uma aplicação ou website é disponibilizada em algum servidor de produção. Isso acontece por que a maioria das distribuições Linux já trazem algum tipo de servidor de e-mails embutido.

    Muitas vezes é necessário (e eu já tive que fazer isso várias vezes) instalar o IIS no windows apenas para utilizar o servidor de SMTP dele, porém não é uma solução muito, vamos dizer, agradável…

    Para podermos então “burlar” o PHP, fazendo com que ele ache que está comunicando com o sendmail do LINUX, existe um pequeno aplicativo de 845kb desenvolvido por Byron Jones. Tudo o que ele faz é receber as chamadas e encaminhá-las para um servidor de SMTP para então o e-mail ser disparado.

    Instalação e Configuração

    1. Baixe o aplicativo fake sendmail (link).
    2. Descompacte o arquivo em qualquer pasta que quiser. Como eu utilizo o software WAMP para fazer testes, descompactei dentro de C:\wamp\bin\sendmail para ficar organizado.
    3. Abra o arquivo sendmail.ini que encontra-se na pasta do sendmail, você deverá editar as configurações do arquivo com as configurações do seu servidor smtp como segue abaixo:smtp_server=endereço do servidor de smtp
      smtp_port=25
      default_domain=seu dominio
      auth_username=seu login (normalmente seu e-mail)
      auth_password=sua senha
    4. Abra o seu arquivo php.ini e procure pelo grupo [mail function] que fica por volta da linha 612
    5. Voce deve comentar as configurações SMTP, smtp_port e sendmail_from e descomentar a linha sendmail_path. Você deve colocar o caminho completo onde descompactou o sendmail na linha sendmail_path como segue abaixo:[mail function]
      ; For Win32 only.
      ;SMTP = localhost
      ;smtp_port = 25

      ; For Win32 only.
      ;sendmail_from = me@example.com

      ; For Unix only.
      ; You may supply arguments as well (default: “sendmail -t -i”).
      sendmail_path = “C:\wamp\bin\sendmail\sendmail.exe -t”

    6. Salve e Feche o arquivo.
    7. Reinicie o seu serviço Apache (no caso do wamp, é o wampapache)

    Teste

    Agora você pode executar um teste simples, criando um arquivo php e executando no seu servidor como a seguir:
    <?php mail(“email de testes”, “teste”, “teste”); ?>

    Qualquer problema, sugiro que procure a solução no site do fake sendmail: http://glob.com.au/sendmail/

    Abraços,
    Até a próxima.

    Compartilhe este conteúdo

    Escrever um comentário