
Como pasar variables de una clase a otra clase
Publicado por cosmito (51 intervenciones) el 19/07/2019 18:05:18
Estoy aprendiendo a trabajar con las clases y estoy desarrollando esta, quiseira saber si se puede pasar datos de esta a la clase Phpmailer que estoy usando para enviar correos, la idea es incluir los servidores de correos de esta manera y asi facilitar su uso. Si alguien me orienta a ver si puedo ir afinando mis conocimientos.
Nota: este codigo es el que estoy utilizando para enviar el correo, esta basado en PhPmailer mi pregunta como debo llamar la variable que trae cuando el usuario selecciona un servidor de correo en negrita es donde instancio la clase pero de ahi no se como llamar la variable.
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
37
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
class Correos
{
public function usoHotmail() {
echo $this->$smtp->SMTPAuth = true; echo "</br>";
echo $this->$smtp->SMTPSecure = "tls"; echo "</br>";
echo $this->$smtp->Host = "smtp.live.com"; echo "</br>";
echo $this->$smtp->Username = "miCuenta@outlook.com"; echo "</br>";
echo $this->$smtp->Password = "miPassword"; echo "</br>";
echo $this->$smtp->Port = 25; echo "</br>";
}
public function usoGmail() {
echo $this->$smtp->SMTPAuth = true; echo "</br>";
echo $this->$smtp->SMTPSecure = "tls"; echo "</br>";
echo $this->$smtp->Host = "smtp.gmail.com"; echo "</br>";
echo $this->$smtp->Username = "miCuenta@gmail.com"; echo "</br>";
echo $this->$smtp->Password = "miPassword"; echo "</br>";
echo $this->$smtp->Port = 587; echo "</br>";
}
public function usoYahoo() {
echo $this->$smtp->SMTPAuth = true; echo "</br>";
echo $this->$smtp->SMTPSecure = "ssl"; echo "</br>";
echo $this->$smtp->Host = "smtp.mail.yahoo.com"; echo "</br>";
echo $this->$smtp->Username = "miCuenta@yahoo.com"; echo "</br>";
echo $this->$smtp->Password = "miPassword"; echo "</br>";
echo $this->$smtp->Port = 465; echo "</br>";
}
}
?>
Nota: este codigo es el que estoy utilizando para enviar el correo, esta basado en PhPmailer mi pregunta como debo llamar la variable que trae cuando el usuario selecciona un servidor de correo en negrita es donde instancio la clase pero de ahi no se como llamar la variable.
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
set_time_limit(500);
require("PHPMailer-master/class.phpmailer.php");
require("PHPMailer-master/class.smtp.php");
include("gmail.php");
//error_reporting(E_ALL ^ E_NOTICE);
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
$de = $_POST["de_txt"];
$para = $_POST["para_txt"];//cta de correo al que va dirigido el mensaje.
$password = $_POST['passw'];
$nombres = $_POST['nombres'];
var_dump($nombres);
$asunto = $_POST["asunto_txt"];
$addcco = $_POST["cco_txt"];
$archivo = $_FILES["archivo_fls"]["tmp_name"];
$adjunto = chunk_split(base64_encode(file_get_contents($archivo)));
$destino = $_FILES["archivo_fls"]["name"];
$mensaje = $_POST["mensaje_txa"];
copy($_FILES["archivo_fls"]["tmp_name"],$_SERVER['DOCUMENT_ROOT']."/archivos/".$_FILES["archivo_fls"]["name"]);
copy($_FILES["archivo_fls"]["tmp_name"],"archivos/".$_FILES["archivo_fls"]["name"]);
$smtp=new PHPMailer();
$smtp->IsSMTP();
$smtp->CharSet="UTF-8";
include("enviar.php");
$Correo = new Correos();
// $smtp->SMTPAuth = true;
// $smtp->SMTPSecure = "tls";
// $smtp->SMTPDebug = 0;
// $smtp->Host = "smtp.live.com";
// $smtp->Username = $de;
// $smtp->Password = $password;
// $smtp->Port = 587;
$smtp->From = $de;
$smtp->FromName = $nombres;
# Indicamos la dirección donde enviar el mensaje
$para1= $para;
$nameTo=$para1;
$smtp->AddAddress($para,utf8_decode($nameTo));
$smtp->Subject = $asunto;
$smtp->Body = $mensaje;
$smtp->WordWrap = 50;
$smtp->IsHTML(true);
$smtp->MsgHTML($mensaje);//
$smtp->AddAttachment($_FILES["archivo_fls"]["tmp_name"],$_FILES["archivo_fls"]["name"]);
if (!$smtp->Send())
{
$respuesta ="El mensaje no se pudo enviar";
$respuesta .="Error: " .$mail->ErrorInfo;
}
else
{
$respuesta ="El mensaje ha sido enviado";
}
header("Location:correomail.php?respuesta=$respuesta");
?>
Valora esta pregunta


0