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

  • El process de Sendmail falló con el código de error 67
  • Configurar sendmail para enviar solo a dominio local
  • Cómo restringir sólo PHP5 / Apache para enviar correo sólo a usuarios locales
  • Cómo reducir el tiempo de espera de Sendmail DNS
  • Retransmisión de Exchange 2007 desde sendmail, post "Undelivenetworking". ¿Posibles razones?
  • Migración de usuarios de correo electrónico desde Sendmail de Redhat a Centos Postfix / Dovecot
  • openssl actualización 1.0.1f a 1.0.1g se rompió sendmail (SSL23_GET_SERVER_HELLO: error de deencoding de alerta tlsv1)
  • Spam en la carpeta sendmail / var / spool / mqueue
  • Sendmail al relé de dominio de Google Apps
  • Configurar Sendmail para requerir chequeos SPF válidos antes de aceptar / reenviar correo
  • mis correos de postfix van a spam
  • Cómo enviar sendmail a través de la command-line
  • Cómo deshabilitar el agente de transporte de correo de arrancar en Ubuntu?
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.