rellenar cuerpo de email con php
Publicado por giuli (74 intervenciones) el 11/09/2016 15:08:19
Estoy usando phpmailer y funciona...recibo emails perfectamente.
Pero:de que mandera puedo rellenar(tengo un archivo html con variables) las variables.
El tema es asi: cuando se registra en la bd una inasistencia al colegio a un alumno, se debe enviar email a cada no de sus tutores informandoles.
Entonces tengo:
la funcion obtener tutores devuelve el padre madre etc... a la vez consulto el nombre apellido del padre
Pero el email llega con el texto solamente, osea los echo llegan vacios..
De que manera puedo llamar a una funcion o enviar los datos alcuerpo del email?
Pero:de que mandera puedo rellenar(tengo un archivo html con variables) las variables.
El tema es asi: cuando se registra en la bd una inasistencia al colegio a un alumno, se debe enviar email a cada no de sus tutores informandoles.
Entonces tengo:
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
64
65
66
67
68
69
<?php
//incluimos la clase PHPMailer
require_once('PHPMailer-master/class.phpmailer.php');
include_once'../../PHP/Conexion.php';
$conectar=conexionBD();
function obtenerTutores($idalumno){
settype($idalumno,"integer");
global $conectar;
$sqltutor="SELECT idtutor FROM alumnotutor WHERE idalumno=".$idalumno;
$rstutores=select($conectar,$sqltutor);
return $rstutores;
};
function enviarEmail($idalumno){
$mail = new PHPMailer();
$body = file_get_contents('contenidoemail.php');
//Esta línea la he tenido que comentar
//porque si la pongo me deja el $body vacío
$mail->IsSMTP();
//permite modo debug para ver mensajes de las cosas que van ocurriendo
//Debo de hacer autenticación SMTP
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
//indico el servidor de Gmail para SMTP
$mail->Host = "smtp.gmail.com";
//indico el puerto que usa Gmail
$mail->Port = 465;
$rstutores=obtenerTutores($idalumno);
foreach ($rstutores as $tutor){
global $conectar;
$idtutor=$tutor['idtutor'];
$sqldatostutor="SELECT idpersona,nombre,apellido,email FROM persona ";
$sqldatostutor.="WHERE idpersona IN ";
$sqldatostutor.="(SELECT idpersona FROM tutor WHERE idtutor=".$idtutor.")";
$rsemail=select($conectar,$sqldatostutor);
$nom=$rsemail[0]['nombre'];
$apellido=$rsemail[0]['apellido'];
$email="giuli956@hotmail.com";
$mail->AddReplyTo('trabajo.fcyt@gmail.com', 'Instituto Maria Auxiliadora');
$mail->AddAddress($email,$apellido);
$mail->SetFrom('trabajo.fcyt@gmail.com', 'Instituto Maria Auxiliadora');
$mail->Subject = "NUEVA INASISTENCIA";
$mail->MsgHTML($body);
//indico un usuario / clave de un usuario de gmail
$mail->Username = "trabajo.fcyt@gmail.com";
$mail->Password = "Alabarderos";
}
$mail->MsgHTML($body);
if(!$mail->Send()) {
echo "Error al enviar el mensaje: " . $mail->ErrorInfo;
} else {
echo "Mensaje enviado!!";
}
};?>
la funcion obtener tutores devuelve el padre madre etc... a la vez consulto el nombre apellido del padre
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<link rel='stylesheet' href='../../Css/Formularios.css'/>
<?php require("email.php"); ?>
</head>
<body>
<div>Sr/Sra: <?php echo $nombretutor;?></div>
<p>nos dirijimos a ustedes para informarle que su hijo:
<?php echo $nombrealu; ?> registra una nueva inasistencia.</p>
<p>Valor: <?php echo $val;?></p>
</body>
</html>
Pero el email llega con el texto solamente, osea los echo llegan vacios..
De que manera puedo llamar a una funcion o enviar los datos alcuerpo del email?
Valora esta pregunta


0