¿Cómo configuro PHP para enviar correo electrónico a Apache? (Windows)

Estoy configurando un server Apache (2.2.14) en Windows, y tomo prestado ideas de una configuration XAMPP existente. Ahora bash configurar la funcionalidad de correo electrónico para PHP (5.3.1). (Debe ser capaz de manejar files adjuntos, al igual que el server XAMPP puede.)

He notado que XAMPP viene con sendmail falso para Windows , pero varias cosas sobre la configuration no tienen sentido para mí.

Aquí hay un par de líneas de php.ini de XAMPP:

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

Esto es raro porque:

  • Se dice explícitamente "sólo para Unix", sin embargo
    • Sigo viendo tutoriales que dicen usar esta línea para Windows, y
    • la ruta del file de ejemplo ni siquiera tendría sentido en Unix
  • sendmail_path se ha comentado de forma pnetworkingeterminada

Me preguntaba si incluso sendmail.exe es necesario. Así que en mi server Apache personalizado, que no tiene sendmail.exe , he editado php.ini para agregar la información correcta para SMTP , smtp_port y sendmail_from . Con eso, fue capaz de enviar correo! Pero es muy lento.

Luego volví al server XAMPP y sendmail el nombre del directory sendmail , con la esperanza de deshabilitar sendmail. Ese tipo de trabajo – mi script PHP afirmó haber enviado, pero no sucedió nada.

Así que estoy muy confundido.

  • Mi server XAMPP tiene sendmail_path comentado, pero al parecer todavía usa el progtwig al que apunta. ¿Cómo lo sabe?
  • Mi server Apache no tiene nada en sendmail_path , pero de alguna manera puede enviar correo sin él. ¿Como hace eso?

¿Qué debo hacer para configurar el server Apache para enviar correos electrónicos?

2 Solutions collect form web for “¿Cómo configuro PHP para enviar correo electrónico a Apache? (Windows)”

Después de realizar más búsquedas y testings, parece que:

  1. En Windows, la function mail () de PHP no necesita necesariamente entregar correo electrónico a otro progtwig en la misma computadora; puede conectarse a un server de correo por sí mismo

  2. Esto, sin embargo, es ineficiente y lento.

  3. Configurar el sendmail falso en la máquina del server y señalar la directiva sendmail_path php.ini hace que el envío de correo electrónico sea mucho más rápido. Personalmente, me imagino sendmail.exe masticando los datos en bits agradables y digeribles, y escupiendo en la boca del server de correo como un pájaro madre alimentando a su bebé. Mmmm! Pero tal vez estoy loco.

  4. Si pone sendmail.exe en C:\usr\bin , esto permite que algunos progtwigs que esperan ser ejecutados en un sistema operativo basado en Unix para ejecutarse en Windows

Aquí hay alguna información en el manual de PHP que me ayudó a resolver esto.

Nota: La implementación de Windows de mail () difiere en muchos aspectos de la implementación de Unix. En primer lugar, no utiliza un binary local para componer posts, sino que sólo funciona en sockets directos, lo que significa que se necesita un MTA para escuchar en un socket de networking (que puede estar en el localhost o en una máquina remota).

Y…

Nota: Vale la pena señalar que la function mail () no es adecuada para grandes volúmenes de correo electrónico en un bucle. Esta function abre y cierra un socket SMTP para cada correo electrónico, que no es muy eficiente. Para el envío de grandes cantidades de correo electrónico, consulte los packages »PEAR :: Mail, y» PEAR :: Mail_Queue.

Apache no está involucrado en ninguna configuration para enviar correo electrónico. Esto es manejado completamente por PHP y el, en este caso, MTA local. El MTA será Sendmail o Postfix casi siempre. La configuration para esto está en el file php.ini en la sección [function de correo] llamada sendmail_path.

  • Conexión denegada. ¿Por qué no puedo enviar correo electrónico de un server pero puedo desde otro?
  • Prevención del ataque de fuerza bruta de Sendmail en Solaris 10
  • mailx ya no envía correos electrónicos
  • Fixing starttls verify = fail, verifymsg = no se puede get el certificate de emisor local
  • Cómo utilizar sendmail en amazon ec2 linux server
  • Amazon SES para sendmail en ubuntu
  • No se pueden encontrar datos de configuration de correo en el server antiguo
  • Inundación del tráfico en el puerto 25
  • Sendmail en Ubuntu 12.04 después de la actualización, relacionados con SSL?
  • sendmail helo rechazado localhost.localdomain
  • Confundido acerca de alias_maps y virtual_alias_maps
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.