Hola estoy tratando de enviar un correo utilizando el PHPMailer. pero tengo un problema con una variable y nose que sera. ayuda
<?php
include("phpmailer.inc.php");
include("smtp.inc.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "[email protected]";
$mail->Password = "mipass";
$message = "hola";
$mail->From = "[email protected]";
$mail->FromName = "Usuario Lalala";
$mail->Subject = "Lalala";
$mail->AltBody = "Hola, te doy mi nuevo numero\nxxxx.";
$mail->MsgHTML("hola");
$mail->AddAddress("[email protected]", "Destinatario");
$mail->IsHTML(true);
if(!$mail->Send()) {
echo "Error: " . $mail->ErrorInfo;
} else {
echo "Mensaje enviado correctamente";
}
?>
pero en el navegador me lanza este error
Fatal error: Call to undefined method phpmailer::MsgHTML() in C:\wamp\www\enviaCorreo.php on line 18
que vendria siendo la linea
$mail->MsgHTML("hola");
Saludos.
El metodo msgHTML, no existe en la clase de PHPMailer segun se jejeje , por lo que deves eliminar esa linea.
baje una nueva version del phpmailer me quedo asi el codigo
<?php
require_once("./phpmailer51/class.phpmailer.php");
require_once("./phpmailer51/class.smtp.php");
$mail = new phpmailer();
$mail->PluginDir = "";
$mail->Mailer = "smtp";
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port="465";
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "mipass";
$mail->From = "[email protected]";
$mail->FromName = "Nombre del que envia";
$mail->Timeout=30;
$mail->AddAddress("[email protected]");
$mail->Subject = "Prueba desde phpMailer";
$mail->Body = "Cuerpo de mi mensaje";
$mail->AltBody = "Cuerpo de mensaje solo texto";
if(!$mail->Send()){
$msg = "Mail could not be sent.
Error Description: ". $mail->ErrorInfo;
}
else {
$msg = 'Email Message sent successfully!';
}
echo $msg;
?>
y me aparece el sgt error
SMTP Error: Could not connect to SMTP host. Mail could not be sent. Error Description: SMTP Error: Could not connect to SMTP host.
nose que sera :( SAludos
¿Qué versión de PHP tienes? ¿Los datos de acceso al correo son los correctos?
Yo utilizo:
<?php
include("lib/class.phpmailer.php");
include("lib/class.smtp.php");
$mail = new PHPMailer();
$mail->From = '[email protected]';
$mail->FromName = 'Nombre';
$mail->IsHTML(true);
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = '[email protected]';
$mail->Password = 'password';
$mail->Subject = 'Asunto prueba';
$mail->MsgHTML('Texto prueva');
$mail->AddAddress('[email protected]');
if(!$mail->Send()) {
echo 'Error';
}else{
echo 'Bien';
}
En el php.ini cambiar la línea:
;extension=php_openssl.dll
por:
extension=php_openssl.dll
Una vez cambiado reinicia Apache, saludos.
Xt3mP muchas gracias, me funciono perfecto :)
Saludos.
De nada, para eso estamos.