PHP - rellenar cuerpo de email con php

 
Vista:
sin imagen de perfil
Val: 62
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

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:
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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder