Pregunta

Actualmente estoy intentando depurar un sitio web basado en Elgg (no lo desarrollé) y me gustaría enviar los correos electrónicos directamente desde la máquina de desarrollo local (WinXP). Estoy ejecutando WAMP con Apache 2.2.11 y PHP 5.3.0

Después de algunas búsquedas, la solución más sencilla que he encontrado es utilizar falso sendmail para reenvíelo a mi cuenta de aplicaciones GMail / Google a través de SMTP y deje que haga el envío. El problema es que no obtengo ningún error, pero el correo electrónico no se está enviando.

Esto es lo que hice:

  • Copió el sendmail.exe y sendmail.ini a una subcarpeta en WAMP
  • Se configuró a través de sendmail.ini (los ajustes de configuración están bien)
  • Php.ini editado para agregar la ruta a sendmail.exe
    sendmail_path = " C: \ Archivos de programa \ wamp \ bin \ sendmail \ sendmail.exe -t "
  • Comentó la configuración de SMTP de Windows en php.ini
    ; SMTP = localhost
    ; smtp_port = 25
    ; sendmail_from = xxx@domain.com
    ; mail.force_extra_parameters =

El archivo mail.log muestra lo siguiente:

mail() on [C:\Program Files\wamp\www\mail.php:9]: To: xxx -- 
Headers: From: xxx  Reply-To: xxx  X-Mailer: PHP/5.3.0

Mi conjetura es que el problema es que la opción predeterminada de Windows (para especificar el servidor y no la utilidad sendmail) no se anula. En phpinfo () todavía obtengo el SMTP - > localhost y smtp_port - > 25 opciones, a pesar de que las comenté.

Si alguien lograra que esto funcionara, realmente agradecería algo de ayuda. En mi opinión, usar un sendmail falso es mucho más simple que instalar un servidor de correo en su máquina.

¡Gracias!

P.S. No sugiera PHPMailer y similares, porque tengo que usar la función mail (). Así es como funciona Elgg.

¿Fue útil?

Solución

Lo he hecho funcionar eventualmente. El problema fue que PHP tuvo un error al analizar archivos .ini con espacios en el ruta (para sendmail). Se solucionó en la versión 5.3.0, pero el manual no tenía información sobre esto.

Entonces, sí, es posible usar sendmail con PHP en Windows: D.

¡Gracias a todos por su tiempo!

Otros consejos

Asegúrese de tener el Servicio SMTP en ejecución en su máquina local y que el Puerto SMTP (25) esté abierto.

Verifique los servicios (Run- > services.msc) y busque Enviar transferencia de correo

Si no puede encontrar SMTP en la lista de servicios, debe instalarlo: Para añadir, Ejecutar- > appwiz.cpl- > Agregar Eliminar componentes de Windows > IIS- > Detalles- > SMTP

No estoy seguro de si esto ayuda o no, lo que solía hacer en estos escenarios era la configuración, la perspectiva en mi máquina y configurarlo para recibir correos electrónicos del pop cada 5 minutos aproximadamente, de esa manera mi ip / La máquina se autenticó contra el pop y si acabo de configurar el:

SMTP = localhost
smtp_port = 25

en php.ini, la función de correo funcionó bien. Entonces, en su caso, simplemente configure su perspectiva para que funcione con un pop y use ese smtp en php.ini y espero que funcione. Sin embargo, no he probado esto, GMail.

  

P.S. Por favor, no sugiera PHPMailer y similares, porque tengo que usar la función mail (). Así es como funciona Elgg.

... a menos que esté usando un complemento que cambie este comportamiento:
http://community.elgg.org/pg/plugins/costelloc/ lee / 16498 / phpmailer

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top