Lo he estado intentando durante 2 días completos ahora, y simplemente no puedo hacer que la cosa más simple funcione.
El problema: enviar 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 en Google un poco, descubrí que Postfix se adapta mejor a un entorno LAMPP.
Lo que he probado hasta ahora:
He instalado Postfix y quería configurarlo para usar el servidor smtp de mi proveedor privado de correo electrónico (como lo hizo en Windows). Así que he configurado 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 material "Sólo Win32". El /etc/postfix/main.cf se ve así:
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:
Entonces cuando lo hago
> sudo /etc/init.d/postfix start
todo parece funcionar bien y el /var/log/mail.log dice: "ubuntu postfix / master [9720]: comenzó el demonio - 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 sucede 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 que se ejecute localmente por razones obvias. En algunos casos, envía correos electrónicos, y solo quiero poder recibirlos con Thunderbird o de cualquier otra manera. ¿Está usando Postfix overkill 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 respecto a Senmail ni a Postfix, pero, para ser sincero, soy muy nuevo en Linux).
sendmail_path = "/usr/sbin/sendmail -t -i"
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 (ventanas):
Primero tiene que editar el "php.ini". Para encontrar este archivo, visualice 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. Allí busque "Archivo de configuración cargado". Esa será la ruta a su php.ini .
En el archivo php.ini , elimine el; (punto y coma) dado a `extension = php_openssl.dll. Ahora la configuración del servidor ha terminado ...
LÁMPARA (Linux):
En el caso de Linux, no hay necesidad de editar el archivo php.ini como expliqué el primer punto en WAMP.
Un cambio más es el proyecto o la carpeta raíz del documento es diferente.
fuente
Para enviar un correo electrónico (con el paquete sendmail) a través de Gmail desde localhost, consulte PHP + Ubuntu Enviar correo electrónico usando el formulario de gmail localhost es otra respuesta posible.
fuente