Ayuda escolar: formulario con PHPMailer
Publicado por Daniel (5 intervenciones) el 09/09/2022 02:21:37
Hola comunidad, gracias por leer. Soy nuevo en esto, estoy haciendo un proyecto para la escuela y logré que el formulario funcione bien, pero me gustaría capturar algunas estadísticas del usuario y que me sean enviadas por email (IP, sistema operativo, navegador, etc). Investigué en internet pero no encontré nada sobre este tema, la verdad que no se me ocurre. Si alguien tiene alguna info les agradecería un montón. Mil gracias de antemano!
Ah, el código que estoy usando es este:
Ah, el código que estoy usando es este:
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
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$myPersonalEmail = "xxxxx";
$externalMailHost = "xxxxx";
$externalMailAddress = "xxxxx";
$externalMailSMTPAuth = true;
$externalMailUsername = "xxxxx";
$externalMailPassword = "xxxxx";
$externalMailSMTPSecure = "tls";
$externalMailPort = 587;
require $_SERVER['DOCUMENT_ROOT'] . '/xxxxx/Exception.php';
require $_SERVER['DOCUMENT_ROOT'] . '/xxxxx/PHPMailer.php';
require $_SERVER['DOCUMENT_ROOT'] . '/xxxxx/SMTP.php';
if(isset($_POST['submit'])) {
$mail = new PHPMailer(true);
$mail->SMTPDebug = 0;
$mail->isSMTP();
$mail->Host = $externalMailHost;
$mail->SMTPAuth = $externalMailSMTPAuth;
$mail->Username = $externalMailUsername;
$mail->Password = $externalMailPassword;
$mail->SMTPSecure = $externalMailSMTPSecure;
$mail->Port = $externalMailPort;
$mail->setFrom($externalMailAddress, 'Contacto');
$mail->addAddress($myPersonalEmail);
$mail->addReplyTo($_POST['email'], $_POST['nombre']);
$mail->isHTML(false);
$mail->CharSet = 'UTF-8';
$mail->Body = <<<EOT
Nombre: {$_POST['nombre']}
Correo electrónico: {$_POST['email']}
Pais: {$_POST['pais']}
Ciudad: {$_POST['ciudad']}
Mensaje: {$_POST['mensaje']}
EOT;
try {
$mail->send();
header('Location: /thankyou.html');
exit;
} catch (Exception $e) {
header('Location: /error.html');
exit;
}
} else {
echo "Hay un problema con el documento contacto.html!";
}
?>
Valora esta pregunta


0