Enviando correos con PHP, LAMPP y PostFix

He intentado durante 2 días enteros ahora, y simplemente no puedo hacer que funcione lo más simple.

El problema: el envío de correos electrónicos desde PHP a mi dirección de correo electrónico no funciona

He estado trabajando con Windows y Sendmail (Sendmail estaba dentro del paquete XAMPP) antes y todo estaba bien. Sin embargo, el paquete XAMPP (1.7.7) para Linux no tiene Sendmail integrado. Entonces, después de buscar un poco en Google, descubrí que Postfix encaja mejor en un entorno LAMPP.


Lo que he intentado hasta ahora:

He instalado Postfix y quería configurarlo para usar solo el servidor smtp de mi proveedor de correo electrónico privado (como lo hizo en Windows). Así que he confocado mi php.ini así:

[mail function] ; For Win32 only. ;SMTP = localhost ;smtp_port = 25 ; For Win32 only. ;sendmail_from = [email protected] sendmail_path = /etc/postfix mail.add_x_header = On 

Tenga en cuenta que he comentado el “Win32 only” – cosas. El /etc/postfix/main.cf tiene este aspecto :

 smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_password myhostname = ubuntu alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases sender_canonical_maps = hash:/etc/postfix/sender_canonical mydestination = ubuntu, localhost.localdomain, localhost relayhost = mail.gmx.net mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = loopback-only 

/ etc / aliases no ha cambiado:

 # Required aliases postmaster: root MAILER-DAEMON: postmaster # Common aliases abuse: postmaster spam: postmaster 

/ etc / postfix / sasl_password :

 my.providers.smtp my_login:my_password 

/ etc / postfic / sender_canonical:

 postmaster [email protected] 

Lo que pasa:

Así que cuando lo hago

 > sudo /etc/init.d/postfix start 

todo parece funcionar bien y el /var/log/mail.log dice: “ubuntu postfix / master [9720]: daemon inició – versión 2.8.5, configuración / etc / postfix”

Pero cuando ejecuto mi script PHP (que funcionó bien con Windows y Sendmail), simplemente se ejecuta y no pasa nada, ni siquiera se registra un error.


Lo que realmente quiero lograr:

Estoy trabajando localmente en un sitio web de comercio electrónico. Funciona bien en el servidor web dedicado, pero también quiero tenerlo funcionando localmente por razones obvias. En algunos casos, envía correos electrónicos, y solo quiero poder recibirlos con Thunderbird o de cualquier otra forma. ¿Está el uso excesivo de Postfix aquí? No necesito recibir correos electrónicos, solo quiero que los correos enviados sean visibles de alguna manera. Parece que no pude encontrar tutoriales paso a paso útiles para este problema (ni en lo que respecta a Senmail ni Postfix, pero, para ser sincero, soy muy nuevo en Linux).

En su php.ini, esto:

 sendmail_path = /etc/postfix 

Debe ser la ruta al binario de sendmail (o compatible).
Lo has configurado en el directorio de configuración de postfix que no es correcto.

Por razones históricas, generalmente /usr/bin/sendmail se mantiene como un enlace de compatibilidad.
sendmail fue el primero (supongo) y casi todo asume que está en el MTA instalado. Así que cuando no lo es, el reemplazo crea un enlace simbólico para que nada se rompa.

Para enviar correo desde localhost (WAMP, XAMP o LAMP) puede usar el paquete PHPMailer

Esta será la misma instrucción dada en el archivo Léame.

WAMP (windows):

Primero debe editar el “php.ini” Para encontrar este archivo, muestre el phpinfo utilizando el siguiente código del servidor WAMP. Cree un archivo php [setting.php] dentro de C: / wamp / www / y agregue el siguiente contenido a ese archivo.

  

Escriba localhost / setting.php en el navegador. Busque “Archivo de configuración cargado”. Esa será la ruta a su php.ini .

En el archivo php.ini , elimine el; (punto y coma) que se asigna a `extension = php_openssl.dll. Ahora la configuración del servidor ha terminado …

  • Después de descargar la carpeta PHPMailer desde github,
  • Extraer-> Copie la carpeta completa en la carpeta de su proyecto, es decir, C: / wamp / www /
  • Encuentra el archivo index.php.
  • Cambie el parámetro según su necesidad.
  • Luego, en el tipo de navegador localhost / PHPMailer / index.php .
  • Luego mostrará un mensaje exitoso si se envió un correo electrónico, de lo contrario, mostrará un mensaje de error.

LAMPARA (Linux):

  • En el caso de Linux, no es necesario editar el archivo php.ini como expliqué en el primer punto bajo WAMP.

  • Un cambio más es el proyecto o la carpeta raíz del documento es diferente.

  • En Linux, la carpeta raíz del documento por defecto será / var / www
  • Puede cambiar la carpeta raíz del documento fácilmente. Para eso visite https://stackoverflow.com/a/17612396/1925943
  • Copie el PhpMailer en esta carpeta de raíz de documentos y edite index.php según sus necesidades.
  • Luego escriba localhost / PhpMailer / index.php en el navegador.

Para enviar un correo electrónico (con el paquete sendmail) a través de Gmail desde localhost, verifique PHP + Ubuntu. Enviar correo electrónico usando el formulario de gmail localhost es otra respuesta posible.