-
Notifications
You must be signed in to change notification settings - Fork 0
/
email_validator.php
116 lines (101 loc) · 3.24 KB
/
email_validator.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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
$emailConfig = [
'host' => 'smtp.gmail.com',
'username' => '[email protected]',
'password' => 'suasenha', // Use uma senha de aplicativo se a verificação em duas etapas estiver ativada
'port' => 587,
'from' => '[email protected]'
];
function sendEmail($to, $subject, $content, $config) {
$content = str_replace("Seu código é: ", "Seu código é: <span class='code-box'>", $content);
$content = preg_replace("/(\d{6})/", "$1</span>", $content);
$mail = new PHPMailer(true);
$mail->CharSet = PHPMailer::CHARSET_UTF8;
try {
// Configurações do servidor
$mail->isSMTP();
$mail->Host = $config['host'];
$mail->SMTPAuth = true;
$mail->Username = $config['username'];
$mail->Password = $config['password'];
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = $config['port'];
// Configurações do remetente e destinatário
$mail->setFrom($config['from'], 'Krust Newsletter');
$mail->addAddress($to);
// Template HTML com estilos
$emailHtml = "
<html>
<head>
<style>
.email-container {
font-family: 'Arial', sans-serif;
color: #333;
background-color: white;
margin: 20px auto;
width: 90%;
max-width: 600px;
border-radius: 10px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
padding: 20px;
text-align: center;
}
.header, .footer {
background-color: #7a5af7;
color: white;
padding: 20px;
border-radius: 10px;
}
.content {
padding: 20px;
text-align: left;
line-height: 1.6;
color: #333;
}
.code-box {
display: block;
background-color: #7a5af7;
color: white;
padding: 10px 20px;
margin: 20px auto;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
font-size: 20px;
font-weight: bold;
text-align: center;
}
</style>
</head>
<body>
<div class='email-container'>
<div class='header'>
<h1>Seu Código de Verificação</h1>
</div>
<div class='content'>
<p>Olá, obrigado por se inscrever. Abaixo está o seu código de verificação.</p>
<span class='code-box'>$content</span>
<p>Use este código para completar o seu cadastro. Se você não solicitou este código, por favor ignore este e-mail.</p>
</div>
<div class='footer'>
<p>© " . date("Y") . " Krust Newsletter</p>
</div>
</div>
</body>
</html>";
// Configuração da mensagem
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $emailHtml;
$mail->send();
return true;
} catch (Exception $e) {
echo "Erro ao enviar email: {$mail->ErrorInfo}";
return false;
}
}
?>