Pregunta

Quiero usar la función mail () de mi localhost. Tengo WAMP instalado y una cuenta de Gmail. Sé que el SMTP para Gmail es smtp.gmail.com y el puerto es 465 ( más información de gmail ). ¿Qué necesito configurar en WAMP para poder usar la función mail ()?

¡Gracias!

¿Fue útil?

Solución

Los servidores de Gmail usan la autenticación SMTP bajo SSL o TLS. Creo que no hay forma de usar la función mail() en esas circunstancias, por lo que es posible que desee comprobar estas alternativas:

Todos admiten autenticación SMTP bajo SSL.

Deberá habilitar la extensión php_openssl en su php.ini.

Recursos adicionales:

Otros consejos

He respondido eso aquí: (WAMP / XAMP) envíe el correo usando SMTP localhost (funciona no solo GMAIL, sino también para otros).

Si abre el archivo php.ini en wamp, encontrará estas dos líneas:

smtp_server
smtp_port

Agregue el servidor y el número de puerto para su host (es posible que deba contactarlos para obtener más detalles)

Las siguientes dos líneas no existen:

auth_username
auth_password

Por lo tanto, deberá agregarlos para poder enviar correo desde un servidor que requiera autenticación. Entonces, un ejemplo puede ser:

smtp_server = mail.example.com
smtp_port = 26
auth_username = example_username@example.com
auth_password = example_password

Es bastante simple. (Adapte la sintaxis para su conveniencia)

public $smtp = array(
    'transport' => 'Smtp',
    'from' => 'your_email@gmail.com',
    'host' => 'ssl://smtp.gmail.com',
    'port' => 465,
    'timeout' => 30,
    'username' => 'your_email@gmail.com',
    'password' => '*****'
)

Como alternativa a PHPMailer, Pear's Mail y otros, puede usar la biblioteca de Zend

  $config = array('auth' => 'login',
                   'ssl' => 'ssl',
                   'port'=> 465,
                   'username' => 'XXXX@gmail.com',
                   'password' => 'XXXXXXX');

 $transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
 $mail = new Zend_Mail();
 $mail->setBodyText('This is the text of the mail.');
 $mail->setFrom('XXXX@gmail.com', 'Some Sender');
 $mail->addTo('kazifriend@gmail.com', 'Some Recipient');
 $mail->setSubject('TestSubj');
 $mail->send($transport); 

Esa es mi configuración en el servidor localhost y puedo ver el correo entrante en mi casilla de correo.

sé que en XAMPP puedo configurar sendmail.ini para reenviar el correo electrónico local. necesita establecer

smtp_sever
smtp_port
auth_username
auth_password

esto funciona cuando uso mi propio servidor, no gmail, así que no puedo decir con certeza que no tendría problemas

use stunnel en su servidor para enviar con gmail. googlealo.

Estoy seguro de que también requeriría credenciales de autenticación SMTP.

PEAR: Mail funcionó para mí enviando mensajes de correo electrónico desde Gmail. Además, las instrucciones: Cómo enviar un correo electrónico desde un script PHP usando la autenticación SMTP (Usando PEAR :: Mail) fue de gran ayuda. Gracias, CMS!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top