-
Enviar e-mails pelo PHP no Windows
Publicado em 31/08/2008 às 23:07:52 Categorias: Desenvolvimento de Software, PHP Tags: Desenvolvimento de Software, E-mail, PHP, Sendmail 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
- Baixe o aplicativo fake sendmail (link).
- 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.
- 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 - Abra o seu arquivo php.ini e procure pelo grupo [mail function] que fica por volta da linha 612
- 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” - Salve e Feche o arquivo.
- 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



