-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.php
101 lines (73 loc) · 3.02 KB
/
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
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$ruta = $_SERVER['DOCUMENT_ROOT'].'/webservice-matricula_upg_fii/vendor/phpmailer/src/PHPMailer.php';
include($ruta);
include('config/config.php');
// Ruta: http://localhost/webservice-matricula_upg_fii/index.php
//Definimos con header el tipo del documento (JSON)
header("Content-Type:application/json");
/** Validamos que solo acepte método POST */
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if(!empty($_POST['correo']) && !empty($_POST['asunto']) && !empty($_POST['bodyMail']) )
{
$correo = $_POST['correo'];
$asunto = $_POST['asunto'];
$body = $_POST['bodyMail'];
$correo_copias = $_POST['cc'];
/** Enviamos el correo electrónico, pasándole los parámetros necesarios */
enviarCorreo($correo, $asunto, $body, $correo_copias);
}
else
{
//entregamos respuesta
respuesta_entregada(200, "No se pudo completar tu solicitud", null);
}
}
//validamos varaiables vacias
//funcion que crea la respuesta, con estado, mensaje de estados y datos
function respuesta_entregada($estado, $mensaje_estado, $datos){
//cabecera respuesta
header("HTTP/1.1 $estado $mensaje_estado");
//rellenamos array con estado, mensaje y datos
$respuesta['estado'] = $estado;
$respuesta['mensaje_estado'] = $mensaje_estado;
$respuesta['status'] = $datos;
//codificamos el json
$respuesta_json = json_encode($respuesta);
//pintamos el contenido del json
echo $respuesta_json;
}
function enviarCorreo($correo, $asunto, $body, $correo_copias){
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = HOST_MAIL;
$mail->Port = PUERTO_MAIL;
$mail->From = REMITENTE_MAIL;
$mail->SMTPAuth = AUTH_MAIL;
$mail->SMTPSecure = SEGURIDAD_MAIL;
$mail->Username = CORREO_SISTEMA;
$mail->Password = PASSWORD_CORREO;
$mail->setFrom(CORREO_SISTEMA, NOMBRE_SISTEMA);
$mail->AddAddress($correo);//Agregar destinatario
if($correo_copias !== ''){
foreach ($correo_copias as $correo) {
$mail->addCC($correo);
}
}
$mail->Subject = $asunto;
$body = $body;
$mail->AltBody = ".";
$mail->MsgHTML($body);
$mail->IsHTML(true);
$mail->CharSet = CHARSET_MAIL;// Activa la condificacción utf-8
// $mail->SMTPDebug = 3;
if ($mail->Send()) {
//Correo enviado
respuesta_entregada(200, "Correo enviado correctamente", true);
}else{
//Error al enviar
respuesta_entregada(500, "Error".$mail->ErrorInfo, false);
}
}
?>