Como enviar correo por php

Alguien por favor me puede orientar como puedo enviar un correo a gmail desde php, utilizando el servidor local (localhost), estoy tratando de hacerlo de la siguiente manera como prueba y no me funciona

¿

<?php

$para="[email protected]";
$titulo = "PRUEBA DE TITULO";
$mensaje="hola";
$bool = mail($para,$titulo,$mensaje);
if($bool){
echo "Mensaje enviado";
}else{
echo "Mensaje no enviado";
}

¿

?>

Respuesta
1

En una ocasión tuve el mismo inconveniente y lo solucioné...

Para poder enviar email desde localhost es necesario configurar el php.ini ysendmail.ini con una cuenta SMTP para gestionar los correos electrónicos.

Apache servidores Web, no son servidores de correo, las directivas que ves en el php.ini son para configurar el servidor SMTP que es el que necesitas para poder enviar correos.
PHP NO soporta SMTPs que requieren autentificación, para eso tienes que usar una clase como Zend_Mail o PHPMailer.

Los primero es ingresar al php.ini y buscar la línea [mail function] aquí des comentaremos sendmail_path ingresando el path de donde este instalado nuestro sendmail para mi caso me quedaría asi.

Para poder enviar email desde localhost es necesario configurar el php.ini ysendmail.ini con una cuenta SMTP para gestionar los correos electrónicos.

Los primero es ingresar al php.ini y buscar la línea [mail function] aquí des comentaremos sendmail_path ingresando el path de donde este instalado nuestro sendmail para mi caso me quedaría asi.

[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
; SMTP = localhost
; smtp_port = 25
; For Win32 only.
; <a href="http://php.net/sendmail-from">http://php.net/sendmail-from</a>
;sendmail_from = <a href="mailto:postmaster@localhost">postmaster@localhost</a>
; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesE:\xampp) fakemail and mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.  
; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
sendmail_path = "\"E:\xampp\sendmail\sendmail.exe\" -t"
; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the E:\xampp\mailoutput folder
;sendmail_path="E:\xampp\mailtodisk\mailtodisk.exe"
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header=Off
; Log all mail() calls including the full path of the script, line #, to address and headers
mail.log = "E:\xampp\php\logs\php_mail.log"

lo segundo ingresamos al  sendmail.ini  que lo podríamos encontrar donde se instalo nuestro servidor xampp.

Y debe quedarnos algo como lo siguiente;

Lo segundo ingresamos al sendmail.ini que lo podríamos encontrar donde se instalo nuestro servidor xampp.

Y debe quedarnos algo como lo siguiente;

[email protected]
auth_password=miclave
smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=auto

Con esto ya deberíamos poder enviar correos desde nuestro localhost.

1 respuesta más de otro experto

Respuesta
1

Bueno tienes que tener activo un servidor SMTP que es que se encarga de enviar correo, también puedes probar en un hosting gratuito para realizar tus pruebas, puedes ver el siguiente vídeo, para tener ayuda:

https://www.youtube.com/watch?v=DzDajalCG58 

Saludos, gracias por visitar: http://develoteca.com y por suscribirte a: https://www.youtube.com/user/dimit28 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas