Para utilizar gmail como servidor de correo con la seguridad activada he tenido que configurar el archivo php.ini descomentando la siguiente linea:
;extension=php_openssl.dll --> extension=php_openssl.dll
Despues, al reiniciar el apache me daba un error al cargar la libreria dinamica y para solucionarlo he tenido que copiar los archivos "libeay32.dll" y "ssleay32.dll" de la carpeta php a "c:/windows/system32".
Como ejemplo os pongo el siguiente código para que hagais la prueba. Hace falta la librería de phpmailer que yo la obtenido del siguiente enlace:
http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/PHPMailer%20v5.1/PHPMailer_v5.1.zip/download
require_once('../classes/phpmailer.class.php');
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
$mail = new PHPMailer();
$body = 'holaaaa';//file_get_contents('contents.html');
$body = eregi_replace("[\]",'',$body);
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "nombre.cuenta.gmail"; // GMAIL username
$mail->Password = "password"; // GMAIL password
$mail->SetFrom('name@yourdomain.com', 'Yo mismo');
$mail->AddReplyTo("ggb191983@gmail.com","First Last");
$mail->Subject = "PHPMailer Test Subject via smtp (Gmail), basic";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->MsgHTML($body);
$address = "destinatario@dominio.com";
$mail->AddAddress($address, "John Doe");
$mail->AddAttachment("images/phpmailer.gif"); // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
$mail->isHTML(true);
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
Super! me ha funcionado de maravilla, en cuanto al error que a ti te producia el apache menos mal a mi no me pasó y no tuve que hacer lo que indicabas.
ResponderEliminarHay un par de cosas que hay que cambiar en el codigo pero es super intuitivo hasta para los que inician en php. la verdad esta para anti-noobster.
Yo en particular no hallaba como usar el gmail como servidor smtp, y usaba siempre mi servidor Postcast Server SMTP en mi computador personal. asi que con tu aporte he aprendido algo nuevo.
Muchicimas gracias, Saludos desde Caracas-Venezuela
Me alegro de haberte podido ayudar XD.
ResponderEliminarMuy buenooo!!!
ResponderEliminar