PHP - Call to undefined method PHPMailer::SetFrom()

   
Vista:
Imágen de perfil de Hfr

Call to undefined method PHPMailer::SetFrom()

Publicado por Hfr (84 intervenciones) el 02/12/2015 14:16:07
hola chicos.
tengo este código
para el envio de correos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php require_once('../PHPMailer/_lib/class.phpmailer.php');
 
$correo = new PHPMailer();
 
$correo->IsSMTP();
 
$correo->SMTPAuth = true;
 
$correo->SMTPSecure = 'tls';
 
$correo->Host = "smtp.office365.com";
 
$correo->Port = 587;
 
$correo->Username   = "******";//tu corrreo
 
$correo->Password   = "**********";// tu clave
 
$correo->SetFrom("*******", "Mi Codigo PHP");//tu corrreo
 
 
 
$correo->AddAddress("hector58472@yahoo.es", "Jorge");//correo destino
 
$correo->Subject = "Mi primero correo con PHPMailer";//asunto
 
$correo->MsgHTML("HOLA COMO ESTAS <strong>HTML</strong>");//mensaje o cupor del correo
 
 
if(!$correo->Send()) {
  echo "Hubo un error: " . $correo->ErrorInfo;
} else {
  echo "Mensaje enviado con exito.";
}
 
?>


Fatal error: Call to undefined method PHPMailer::SetFrom() in C:\xammmp\htdocs\prueba\prueba.php on line 19
pero genera este error la Liberia la descargue de

https://codeload.github.com/PHPMailer/PHPMailer/zip/master
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Call to undefined method PHPMailer::SetFrom()

Publicado por xve (5523 intervenciones) el 02/12/2015 15:27:03
Hola Hfr, seguro que estas utilizando el archivo que te has descargado???

Yo he descargado de la url que indicas, y he tenido que modificar el código PHP, ya que le falta añadir la libreria class.smtp.php
Una vez añadido dicha libreria, funciona perfectamente tu código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
require_once('PHPMailer-master/class.phpmailer.php');
require_once('PHPMailer-master/class.smtp.php');
 
$correo = new PHPMailer();
$correo->IsSMTP();
$correo->SMTPAuth = true;
$correo->SMTPSecure = 'tls';
$correo->Host = "smtp.office365.com";
$correo->Port = 587;
$correo->Username   = "******";//tu corrreo
$correo->Password   = "**********";// tu clave
$correo->SetFrom("*******", "Mi Codigo PHP");//tu corrreo
$correo->AddAddress("hector58472@yahoo.es", "Jorge");//correo destino
$correo->Subject = "Mi primero correo con PHPMailer";//asunto
$correo->MsgHTML("HOLA COMO ESTAS <strong>HTML</strong>");//mensaje o cupor del correo
 
if(!$correo->Send()) {
  echo "Hubo un error: " . $correo->ErrorInfo;
} else {
  echo "Mensaje enviado con exito.";
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Hfr

Call to undefined method PHPMailer::SetFrom()

Publicado por Hfr (84 intervenciones) el 02/12/2015 17:01:52
aquí le les dejo el código completo
gracias xve
funciono correctamente sin problema
con varios gestores de correo como
gmail, hotmail , yahoo y con una cuenta de
office 365

index.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Enviar Email</title>
<!-- Analytics -->
<script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-31683991-1']);
  _gaq.push(['_setDomainName', 'portugal-a-programar.pt']);
  _gaq.push(['_trackPageview']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>
<!-- /Analytics --></head>
 
<body>
<form method="POST" action="correo.php" style="font-family: Calibri">
    <p>Destinatário (Nome):<br><input type="text" name="dest_n" size="35"></p>
    <p>Destinatário (Email):<br><input type="text" name="dest_e" size="35"></p>
    <p>Assunto:<br><input type="text" name="ass" size="35"></p>
    <p>Mensagem:<br><textarea rows="10" name="msg" cols="31"></textarea></p>
    <p><input type="submit" value="Enviar" name="submit"></p>
</form>
</body>
</html>


correo.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
 require 'phpmailserver/class.phpmailer.php';
require 'phpmailserver/class.smtp.php';
// Definir variáveis
if($_POST) {
    $destinatario_name = $_POST['dest_n'];
    $destinatario_email = $_POST['dest_e'];
    $assunto = $_POST['ass'];
    $mensagem = $_POST['msg'];
 
$mail = new PHPMailer();
 
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "smtp.office365.com";
$mail->Username = "**************";
$mail->Password = "**************";
$mail->setFrom("pdi@aldeasinfantiles.org.co");//tu corrreo
$mail->AddAddress($destinatario_email,$destinatario_name);//mail destino
$mail->Subject = $assunto;//asunto
$mail->MsgHTML($mensagem);//mensaje o cupor del mail
 
if(!$mail->Send()) {
  echo "Hubo un error: " . $mail->ErrorInfo;
} else {
  echo "Mensaje enviado con exito.";
}
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

Call to undefined method PHPMailer::SetFrom()

Publicado por xve (5523 intervenciones) el 02/12/2015 20:38:10
Gracias por compartirlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar