Implementado Solicitar Token de Seguridad (Web)
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,24 @@
|
||||
# Generated by Django 5.1.2 on 2024-11-13 10:45
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('home', '0004_alter_accountactivation_salt_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='SecurityToken',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('user_id', models.IntegerField()),
|
||||
('token', models.CharField(max_length=6)),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
('expires_at', models.DateTimeField()),
|
||||
('ip_address', models.GenericIPAddressField()),
|
||||
],
|
||||
),
|
||||
]
|
||||
Binary file not shown.
@@ -4,6 +4,8 @@ from django_ckeditor_5.fields import CKEditor5Field
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils import timezone
|
||||
import uuid
|
||||
from django.contrib.auth.models import User
|
||||
import secrets
|
||||
|
||||
class Noticia(models.Model):
|
||||
titulo = models.CharField(max_length=200)
|
||||
@@ -114,4 +116,16 @@ class AccountActivation(models.Model):
|
||||
def is_expired(self):
|
||||
return timezone.now() > self.created_at + timezone.timedelta(hours=1)
|
||||
|
||||
|
||||
class SecurityToken(models.Model):
|
||||
user_id = models.IntegerField() # Referencia al ID del usuario en `acore_auth`
|
||||
token = models.CharField(max_length=6)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
expires_at = models.DateTimeField()
|
||||
ip_address = models.GenericIPAddressField()
|
||||
|
||||
def __str__(self):
|
||||
return f"Token for user_id {self.user_id}"
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
$(function() {
|
||||
$('.sec-token-button').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var button = $(this);
|
||||
var originalText = button.html();
|
||||
var data = $("#uw-sec-token-form").serialize();
|
||||
|
||||
// Cambiar el texto del botón a "Solicitando token"
|
||||
changeButton(button, 'Solicitando token');
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '',
|
||||
data: data,
|
||||
dataType: 'json',
|
||||
success: function(response) {
|
||||
$("#sec-token-response").html(response.message).hide().slideDown();
|
||||
|
||||
if (response.success) {
|
||||
// Actualizar la fecha del token en la página si se ha generado correctamente
|
||||
if (response.token_date) {
|
||||
$("#token-date").text(response.token_date);
|
||||
}
|
||||
|
||||
// Cambiar el texto del botón a "Token enviado"
|
||||
button.html("Token enviado").css("color", "#d79602");
|
||||
|
||||
// Restablecer el botón después de 5 segundos
|
||||
setTimeout(function() {
|
||||
restoreButton(button, originalText);
|
||||
$("#sec-token-response").slideUp(function() {
|
||||
$("#sec-token-response").empty();
|
||||
});
|
||||
}, 5000);
|
||||
} else {
|
||||
// Restablecer el botón y ocultar el mensaje en caso de error
|
||||
setTimeout(function() {
|
||||
$("#sec-token-response").slideUp(function() {
|
||||
$("#sec-token-response").empty();
|
||||
restoreButton(button, originalText);
|
||||
});
|
||||
}, 5000);
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
alert("Algo ha salido mal. Por favor, intenta más tarde.");
|
||||
window.location.reload();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function changeButton(button, text) {
|
||||
button.prop('disabled', true).html(text);
|
||||
}
|
||||
|
||||
function restoreButton(button, originalText) {
|
||||
button.prop('disabled', false).html(originalText).css("color", "");
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
<td align="center" style="padding:0;Margin:0">
|
||||
<table cellspacing="0" cellpadding="0" align="center" style="border-collapse:collapse;border-spacing:0px;background-color:transparent;width:600px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="left" background="https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg" style="Margin:0;padding-top:10px;padding-bottom:10px;padding-left:10px;padding-right:10px;background-image:url(https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#https://novawow.com/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg);background-repeat:no-repeat;background-position:left top">
|
||||
<td align="left" background="https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg" style="Margin:0;padding-top:10px;padding-bottom:10px;padding-left:10px;padding-right:10px;background-image:url(https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg);background-repeat:no-repeat;background-position:left top">
|
||||
|
||||
<table cellspacing="0" cellpadding="0" align="left" style="border-collapse:collapse;border-spacing:0px;float:left">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
@@ -48,14 +48,14 @@
|
||||
<td align="center" valign="top" style="padding:0;Margin:0;width:600px">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" role="presentation" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="center" style="padding:0;Margin:0;font-size:0px"><a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/2/LcFesQN9Atu1p8XKYNeYrw/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#b58a60" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/2/LcFesQN9Atu1p8XKYNeYrw/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw&source=gmail&ust=1731498433468000&usg=AOvVaw3nPd4Lj8GE_62E_stVyXcu"><img src="https://ci3.googleusercontent.com/meips/ADKq_NbGrtaFRw1N5A4Ocfm1t4FL2cRnrcqdXNd7NS7wmpPr_a95bSWKHdPsxbJ7EELaQeomHnmCGgOTiKRXinebDgkWcljQLlRqdekcgfDYtBHevrlgbYUerJF7Kd8q96eogRMAUA=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-logo.webp" alt="" style="display:block;border:0;outline:none;text-decoration:none" width="600" class="CToWUd" data-bit="iit"></a></td>
|
||||
<td align="center" style="padding:0;Margin:0;font-size:0px"><a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/2/LcFesQN9Atu1p8XKYNeYrw/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#b58a60" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/2/LcFesQN9Atu1p8XKYNeYrw/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw&source=gmail&ust=1731498433468000&usg=AOvVaw3nPd4Lj8GE_62E_stVyXcu"><img src="https://ci3.googleusercontent.com/meips/ADKq_NbGrtaFRw1N5A4Ocfm1t4FL2cRnrcqdXNd7NS7wmpPr_a95bSWKHdPsxbJ7EELaQeomHnmCGgOTiKRXinebDgkWcljQLlRqdekcgfDYtBHevrlgbYUerJF7Kd8q96eogRMAUA=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-logo.webp" alt="" style="display:block;border:0;outline:none;text-decoration:none" width="600" class="CToWUd" data-bit="iit"></a></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
<tr style="border-collapse:collapse">
|
||||
<td align="left" background="https://ci3.googleusercontent.com/meips/ADKq_NampjHRjJZ3baaTx33h9V0oSoEjb-2o7_fcpmn-1dUnLvv6V5scomVNacYWHrfG6qEkvr2zkGxev2FZM1Il-iso7oWteJv-7PdfwvFssSuZVMCp0UOlCKCnmw8Z8PjUmFIwLw=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg" style="Margin:0;padding-top:40px;padding-bottom:40px;padding-left:40px;padding-right:40px;background-image:url(https://ci3.googleusercontent.com/meips/ADKq_NampjHRjJZ3baaTx33h9V0oSoEjb-2o7_fcpmn-1dUnLvv6V5scomVNacYWHrfG6qEkvr2zkGxev2FZM1Il-iso7oWteJv-7PdfwvFssSuZVMCp0UOlCKCnmw8Z8PjUmFIwLw=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg);background-repeat:repeat;background-position:left top">
|
||||
<td align="left" background="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg" style="Margin:0;padding-top:40px;padding-bottom:40px;padding-left:40px;padding-right:40px;background-image:url({{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg);background-repeat:repeat;background-position:left top">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;width:520px">
|
||||
@@ -108,7 +108,7 @@
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;width:600px">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" background="https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg" style="border-collapse:collapse;border-spacing:0px;background-image:url(https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg);background-repeat:no-repeat;background-position:left top" role="presentation">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" background="https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg" style="border-collapse:collapse;border-spacing:0px;background-image:url(https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg);background-repeat:no-repeat;background-position:left top" role="presentation">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="center" style="padding:0;Margin:0;padding-top:10px"><p style="Margin:0;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';line-height:21px;color:#ffffff">SÍGUENOS EN</p></td>
|
||||
</tr>
|
||||
@@ -116,10 +116,10 @@
|
||||
<td align="center" style="padding:0;Margin:0;padding-top:15px;padding-bottom:15px;font-size:0">
|
||||
<table cellspacing="0" cellpadding="0" role="presentation" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;padding-right:20px"><a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/5/f6s0ZwRQuTE-C-jasxOasA/aHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL1VsdGltb1dvVy8" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/5/f6s0ZwRQuTE-C-jasxOasA/aHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL1VsdGltb1dvVy8&source=gmail&ust=1731498433469000&usg=AOvVaw2ZYRFnIqpWDQyggiWBGXiO"><img title="Facebook" src="https://ci3.googleusercontent.com/meips/ADKq_NZilnlcbCQgXaGDD49GJm1QFsSdTisHSRzUuQh4d4QKoFs3Ys9JhJPXVNdR_KpKC5vmyUcWWJUIsqn1GXLM6BGlwAHTecUwfe2DsIMiYGRh6vzdCmKKVc0G0EeWORl4DkybPNIUgPikBA=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/facebook-logo-gray.png" alt="Fb" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;padding-right:20px"><a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/6/UGtcJN5ISi7MAnPkbxjBcQ/aHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9VbHRpbW9Xb1cv" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/6/UGtcJN5ISi7MAnPkbxjBcQ/aHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9VbHRpbW9Xb1cv&source=gmail&ust=1731498433469000&usg=AOvVaw3a1MAk7G2C1gKYxEBcZ596"><img title="Instagram" src="https://ci3.googleusercontent.com/meips/ADKq_NaAaG1uiPhc-J3UJaRHNGlIjQEP6NvhOLKG9_MBwf-udq3Ao7oCHffCGaQTQRl4AE6vTB11LigeSFs35bZyvLfIeaMY1hq_NtkoC4Zdo-foNc8Tf8PTqEKcvTglkSt8CmOLt4Ewrzuz8jk=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/instagram-logo-gray.png" alt="Ig" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;padding-right:20px"><a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/7/dNuKqBpwdnPzZqmaJqBMLg/aHR0cHM6Ly90d2l0dGVyLmNvbS9VbHRpbW9Xb1c" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/7/dNuKqBpwdnPzZqmaJqBMLg/aHR0cHM6Ly90d2l0dGVyLmNvbS9VbHRpbW9Xb1c&source=gmail&ust=1731498433469000&usg=AOvVaw0mNhdOEFArJFuU_zdxLrVr"><img title="Twitter" src="https://ci3.googleusercontent.com/meips/ADKq_Na3G-i__xB8LyVCx9Wxs_nsW07gi3Uo3-27M3uXViT9DnhI0oykXfumzibiio1R0jLpHVKx3W1Yao5mcAODWc-6LS0nx9nuKJ2_L7qY6eoUhfdF-VxxWeEQR1LBwnsjowmhy83_izS-=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/twitter-logo-gray.png" alt="Tw" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
<td valign="top" align="center" style="padding:0;Margin:0"><a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/8/sGLIpTKAAbVLc-tQyYqAVQ/aHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ2FITDhCWmNobzhBa2VNOXdja1FieWc" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/8/sGLIpTKAAbVLc-tQyYqAVQ/aHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ2FITDhCWmNobzhBa2VNOXdja1FieWc&source=gmail&ust=1731498433469000&usg=AOvVaw09YlWuRMpxVueGWvjg9E08"><img title="Youtube" src="https://ci3.googleusercontent.com/meips/ADKq_NYxr7vXp62rdfUJTmC76VPL7ErYx7DTXmdpM3gt6ghQ1Ag6E9aLTkja5Jgff_A5020Lrm7K20cjG2RjHCtGTSd2DWxmCD4XvB5VEDXXyL_ivnQBG-hXm42mKYqlBHYFHKwEr9p44lIt=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/youtube-logo-gray.png" alt="Yt" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;padding-right:20px"><a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/5/f6s0ZwRQuTE-C-jasxOasA/aHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL1VsdGltb1dvVy8" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/5/f6s0ZwRQuTE-C-jasxOasA/aHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL1VsdGltb1dvVy8&source=gmail&ust=1731498433469000&usg=AOvVaw2ZYRFnIqpWDQyggiWBGXiO"><img title="Facebook" src="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/facebook-logo-gray.png#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/facebook-logo-gray.png" alt="Fb" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;padding-right:20px"><a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/6/UGtcJN5ISi7MAnPkbxjBcQ/aHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9VbHRpbW9Xb1cv" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/6/UGtcJN5ISi7MAnPkbxjBcQ/aHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9VbHRpbW9Xb1cv&source=gmail&ust=1731498433469000&usg=AOvVaw3a1MAk7G2C1gKYxEBcZ596"><img title="Instagram" src="https://ci3.googleusercontent.com/meips/ADKq_NaAaG1uiPhc-J3UJaRHNGlIjQEP6NvhOLKG9_MBwf-udq3Ao7oCHffCGaQTQRl4AE6vTB11LigeSFs35bZyvLfIeaMY1hq_NtkoC4Zdo-foNc8Tf8PTqEKcvTglkSt8CmOLt4Ewrzuz8jk=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/instagram-logo-gray.png" alt="Ig" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;padding-right:20px"><a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/7/dNuKqBpwdnPzZqmaJqBMLg/aHR0cHM6Ly90d2l0dGVyLmNvbS9VbHRpbW9Xb1c" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/7/dNuKqBpwdnPzZqmaJqBMLg/aHR0cHM6Ly90d2l0dGVyLmNvbS9VbHRpbW9Xb1c&source=gmail&ust=1731498433469000&usg=AOvVaw0mNhdOEFArJFuU_zdxLrVr"><img title="Twitter" src="https://ci3.googleusercontent.com/meips/ADKq_Na3G-i__xB8LyVCx9Wxs_nsW07gi3Uo3-27M3uXViT9DnhI0oykXfumzibiio1R0jLpHVKx3W1Yao5mcAODWc-6LS0nx9nuKJ2_L7qY6eoUhfdF-VxxWeEQR1LBwnsjowmhy83_izS-=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/twitter-logo-gray.png" alt="Tw" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
<td valign="top" align="center" style="padding:0;Margin:0"><a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/8/sGLIpTKAAbVLc-tQyYqAVQ/aHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ2FITDhCWmNobzhBa2VNOXdja1FieWc" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/8/sGLIpTKAAbVLc-tQyYqAVQ/aHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ2FITDhCWmNobzhBa2VNOXdja1FieWc&source=gmail&ust=1731498433469000&usg=AOvVaw09YlWuRMpxVueGWvjg9E08"><img title="Youtube" src="https://ci3.googleusercontent.com/meips/ADKq_NYxr7vXp62rdfUJTmC76VPL7ErYx7DTXmdpM3gt6ghQ1Ag6E9aLTkja5Jgff_A5020Lrm7K20cjG2RjHCtGTSd2DWxmCD4XvB5VEDXXyL_ivnQBG-hXm42mKYqlBHYFHKwEr9p44lIt=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/youtube-logo-gray.png" alt="Yt" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
@@ -132,7 +132,7 @@
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;width:600px">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" background="https://ci3.googleusercontent.com/meips/ADKq_NampjHRjJZ3baaTx33h9V0oSoEjb-2o7_fcpmn-1dUnLvv6V5scomVNacYWHrfG6qEkvr2zkGxev2FZM1Il-iso7oWteJv-7PdfwvFssSuZVMCp0UOlCKCnmw8Z8PjUmFIwLw=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg" style="border-collapse:collapse;border-spacing:0px;background-image:url(https://ci3.googleusercontent.com/meips/ADKq_NampjHRjJZ3baaTx33h9V0oSoEjb-2o7_fcpmn-1dUnLvv6V5scomVNacYWHrfG6qEkvr2zkGxev2FZM1Il-iso7oWteJv-7PdfwvFssSuZVMCp0UOlCKCnmw8Z8PjUmFIwLw=s0-d-e1-ft#https://novawow.com/es/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg);background-repeat:no-repeat;background-position:left top" role="presentation">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" background="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg" style="border-collapse:collapse;border-spacing:0px;background-image:url({{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg);background-repeat:no-repeat;background-position:left top" role="presentation">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="center" style="padding:0;Margin:0;padding-top:10px;padding-bottom:15px"><p style="Margin:0;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';line-height:21px;color:#5c4c44"><a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/9/ZlWuOVIbPYaleSpsSuw3Ew/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3Rlcm1zLWFuZC1jb25kaXRpb25z" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:none;color:#2471a9" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/9/ZlWuOVIbPYaleSpsSuw3Ew/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3Rlcm1zLWFuZC1jb25kaXRpb25z&source=gmail&ust=1731498433469000&usg=AOvVaw2dsWhHN3CcN0kKQnyUm91o">Términos y Condiciones</a> | <a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/10/5L1HSlG1_MryxhAwLok8Hw/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3JlZnVuZC1wb2xpY3k" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:none;color:#2471a9" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/10/5L1HSlG1_MryxhAwLok8Hw/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3JlZnVuZC1wb2xpY3k&source=gmail&ust=1731498433469000&usg=AOvVaw0pVCr9IINwuwAKBTAXvMid">Política de Reembolso</a> | <a href="https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/11/bmmVW3qrlVYp2WbjghJdCQ/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3ByaXZhY3ktcG9saWN5" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:none;color:#2471a9" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AU4AAFT1m8YAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnKdnNbMFetHGyQ9ursJAD3kGn5wAhkNU/11/bmmVW3qrlVYp2WbjghJdCQ/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3ByaXZhY3ktcG9saWN5&source=gmail&ust=1731498433469000&usg=AOvVaw3DoZqMDsaHsX7G4FIF7Fqy">Política de Privacidad</a><br><span class="il">{{ NOMBRE_SERVIDOR }}</span> © {{ ANIO_ACTUAL }}</p></td>
|
||||
</tr>
|
||||
|
||||
@@ -0,0 +1,163 @@
|
||||
<div class=""><div class="aHl"></div><div id=":ne" tabindex="-1"></div><div id=":n4" class="ii gt" jslog="20277; u014N:xr6bB; 1:WyIjdGhyZWFkLWY6MTgxNTYwMTcyMTAzMjE0ODI0NyJd; 4:WyIjbXNnLWY6MTgxNTYwMTcyMTAzMjE0ODI0NyIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDBd"><div id=":n3" class="a3s aiL "><u></u>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div style="width:100%;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';padding:0;Margin:0">
|
||||
<div style="background-color:#0f0f0f">
|
||||
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border-spacing:0px;padding:0;Margin:0;width:100%;height:100%;background-repeat:repeat;background-position:center top">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td valign="top" style="padding:0;Margin:0">
|
||||
<table cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;border-spacing:0px;table-layout:fixed!important;width:100%;background-color:transparent;background-repeat:repeat;background-position:center top">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="center" style="padding:0;Margin:0">
|
||||
<table cellspacing="0" cellpadding="0" align="center" style="border-collapse:collapse;border-spacing:0px;background-color:transparent;width:600px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="left" background="https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg" style="Margin:0;padding-top:10px;padding-bottom:10px;padding-left:10px;padding-right:10px;background-image:url(https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg);background-repeat:no-repeat;background-position:left top">
|
||||
|
||||
<table cellspacing="0" cellpadding="0" align="left" style="border-collapse:collapse;border-spacing:0px;float:left">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="left" style="padding:0;Margin:0;width:280px">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" role="presentation" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="left" id="m_-6152822836979538909title-mail-header" style="padding:0;Margin:0"><p style="Margin:0;font-size:11px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';line-height:17px;color:#b1997f">TOKEN DE SEGURIDAD</p></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
<table cellspacing="0" cellpadding="0" align="right" style="border-collapse:collapse;border-spacing:0px;float:right">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="left" style="padding:0;Margin:0">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" role="presentation" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td style="padding:0;Margin:0">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" role="presentation" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr id="m_-6152822836979538909header-mail-links" style="border-collapse:collapse">
|
||||
<td style="Margin:0;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:0px;border:0" width="50%" bgcolor="transparent" align="center"><a style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:none;display:block;color:#2471a9" href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/1/MGBEqfpUgZk3chR5ONozHg/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/1/MGBEqfpUgZk3chR5ONozHg/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw&source=gmail&ust=1731586528916000&usg=AOvVaw3T9Ry0HidzS4whXEEmkUj2">Ir al sitio</a></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
<table cellspacing="0" cellpadding="0" align="center" style="border-collapse:collapse;border-spacing:0px;table-layout:fixed!important;width:100%">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="center" style="padding:0;Margin:0">
|
||||
<table style="border-collapse:collapse;border-spacing:0px;background-color:transparent;width:600px" cellspacing="0" cellpadding="0" align="center">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="left" style="padding:0;Margin:0">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="center" valign="top" style="padding:0;Margin:0;width:600px">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" role="presentation" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="center" style="padding:0;Margin:0;font-size:0px"><a href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/2/Oc3Ms2hgpLMpVtp0iMlXJg/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#b58a60" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/2/Oc3Ms2hgpLMpVtp0iMlXJg/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw&source=gmail&ust=1731586528916000&usg=AOvVaw39mBNeCVjuJP_TJECAjLxp"><img src="https://ci3.googleusercontent.com/meips/ADKq_NbGrtaFRw1N5A4Ocfm1t4FL2cRnrcqdXNd7NS7wmpPr_a95bSWKHdPsxbJ7EELaQeomHnmCGgOTiKRXinebDgkWcljQLlRqdekcgfDYtBHevrlgbYUerJF7Kd8q96eogRMAUA=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-logo.png" alt="" style="display:block;border:0;outline:none;text-decoration:none" width="600" class="CToWUd" data-bit="iit"></a></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
<tr style="border-collapse:collapse">
|
||||
<td align="left" background="https://ci3.googleusercontent.com/meips/ADKq_NampjHRjJZ3baaTx33h9V0oSoEjb-2o7_fcpmn-1dUnLvv6V5scomVNacYWHrfG6qEkvr2zkGxev2FZM1Il-iso7oWteJv-7PdfwvFssSuZVMCp0UOlCKCnmw8Z8PjUmFIwLw=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg" style="Margin:0;padding-top:40px;padding-bottom:40px;padding-left:40px;padding-right:40px;background-image:url(https://ci3.googleusercontent.com/meips/ADKq_NampjHRjJZ3baaTx33h9V0oSoEjb-2o7_fcpmn-1dUnLvv6V5scomVNacYWHrfG6qEkvr2zkGxev2FZM1Il-iso7oWteJv-7PdfwvFssSuZVMCp0UOlCKCnmw8Z8PjUmFIwLw=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg);background-repeat:repeat;background-position:left top">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;width:520px">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" role="presentation" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="left" style="padding:0;Margin:0"><h1 style="Margin:0;line-height:45px;font-family:georgia,times,'times new roman',serif;font-size:30px;font-style:normal;font-weight:normal;color:#b17c02">Token de Seguridad</h1></td>
|
||||
</tr>
|
||||
<tr style="border-collapse:collapse">
|
||||
<td align="left" style="padding:0;Margin:0"><p style="Margin:0;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';line-height:21px;color:#ebdec2">Alguien desde la IP {{ ip_address }} ha solicitado el Token de seguridad para la cuenta {{ username }}.<br>Si no has sido tú, te recomendamos cambiar la contraseña de tu cuenta.<br><br>Tus datos de cuenta son:</p></td>
|
||||
</tr>
|
||||
<tr style="border-collapse:collapse">
|
||||
<td align="left" style="padding:0;Margin:0"><p style="Margin:0;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';line-height:21px;color:#b1997f">Cuenta: {{ username }}<br>Token de Seguridad: {{ token }}<br><br></p></td>
|
||||
</tr>
|
||||
<tr style="border-collapse:collapse">
|
||||
<td align="left" style="padding:0;Margin:0"><p style="Margin:0;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';line-height:21px;color:#ebdec2">Recuerda que este Token es sensible a mayúsculas y minúsculas.<br>Al usarlo, escríbelo exactamente de la misma forma que aparece aquí.</p></td>
|
||||
</tr>
|
||||
<tr style="border-collapse:collapse">
|
||||
<td align="center" style="padding:20px;Margin:0;font-size:0">
|
||||
<table border="0" width="100%" height="100%" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td style="padding:0;Margin:0;border-bottom:2px solid #5c4c44;background:none;height:1px;width:100%;margin:0px"></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
<tr style="border-collapse:collapse">
|
||||
<td align="left" style="padding:0;Margin:0;padding-top:5px;padding-bottom:20px"><p style="Margin:0;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';line-height:21px;color:#ebdec2">¡No compartas el Token de Seguridad con nadie!<br><br><br>Atentamente, el Equipo de {{ NOMBRE_SERVIDOR }}.</p></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
<table cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;border-spacing:0px;table-layout:fixed!important;width:100%;background-color:transparent;background-repeat:repeat;background-position:center top">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="center" style="padding:0;Margin:0">
|
||||
<table cellspacing="0" cellpadding="0" align="center" style="background-color:transparent;border-collapse:collapse;border-spacing:0px;width:600px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="left" style="padding:0;Margin:0">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;width:600px">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" background="https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#https://novawow.com/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg" style="border-collapse:collapse;border-spacing:0px;background-image:url(https://ci3.googleusercontent.com/meips/ADKq_Nb7TRH9h2_l1rekf1lKsc5H3P70u9ihoUZEEdHemt7tmVs_0-laBoolKLbqcFXKopQB6mbAu6STs5rmDUPDPSNJr-ZQn1Lg7qTMNpXBfdb-tjYQ9aa9wLiv87TZh1-7Twqjyh_K=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-footer.jpg);background-repeat:no-repeat;background-position:left top" role="presentation">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="center" style="padding:0;Margin:0;padding-top:10px"><p style="Margin:0;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';line-height:21px;color:#ffffff">SÍGUENOS EN</p></td>
|
||||
</tr>
|
||||
<tr style="border-collapse:collapse">
|
||||
<td align="center" style="padding:0;Margin:0;padding-top:15px;padding-bottom:15px;font-size:0">
|
||||
<table cellspacing="0" cellpadding="0" role="presentation" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;padding-right:20px"><a href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/3/eMeZ3SH3ZpE3H1-iw92R8w/aHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL1VsdGltb1dvVy8" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/3/eMeZ3SH3ZpE3H1-iw92R8w/aHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL1VsdGltb1dvVy8&source=gmail&ust=1731586528916000&usg=AOvVaw0ltaEwsMuiGRL2DP8YsxZS"><img title="Facebook" src="https://ci3.googleusercontent.com/meips/ADKq_NZilnlcbCQgXaGDD49GJm1QFsSdTisHSRzUuQh4d4QKoFs3Ys9JhJPXVNdR_KpKC5vmyUcWWJUIsqn1GXLM6BGlwAHTecUwfe2DsIMiYGRh6vzdCmKKVc0G0EeWORl4DkybPNIUgPikBA=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/facebook-logo-gray.png" alt="Fb" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;padding-right:20px"><a href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/4/fymnSH5a4-LsG8RH61xSWQ/aHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9VbHRpbW9Xb1cv" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/4/fymnSH5a4-LsG8RH61xSWQ/aHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9VbHRpbW9Xb1cv&source=gmail&ust=1731586528916000&usg=AOvVaw2-krZEF84e2lo8xjP85ceZ"><img title="Instagram" src="https://ci3.googleusercontent.com/meips/ADKq_NaAaG1uiPhc-J3UJaRHNGlIjQEP6NvhOLKG9_MBwf-udq3Ao7oCHffCGaQTQRl4AE6vTB11LigeSFs35bZyvLfIeaMY1hq_NtkoC4Zdo-foNc8Tf8PTqEKcvTglkSt8CmOLt4Ewrzuz8jk=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/instagram-logo-gray.png" alt="Ig" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;padding-right:20px"><a href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/5/NNX_cghtGsHreE-aPj9g1A/aHR0cHM6Ly90d2l0dGVyLmNvbS9VbHRpbW9Xb1c" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/5/NNX_cghtGsHreE-aPj9g1A/aHR0cHM6Ly90d2l0dGVyLmNvbS9VbHRpbW9Xb1c&source=gmail&ust=1731586528916000&usg=AOvVaw34jaboIURRtHrkCUUxMDCo"><img title="Twitter" src="https://ci3.googleusercontent.com/meips/ADKq_Na3G-i__xB8LyVCx9Wxs_nsW07gi3Uo3-27M3uXViT9DnhI0oykXfumzibiio1R0jLpHVKx3W1Yao5mcAODWc-6LS0nx9nuKJ2_L7qY6eoUhfdF-VxxWeEQR1LBwnsjowmhy83_izS-=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/twitter-logo-gray.png" alt="Tw" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
<td valign="top" align="center" style="padding:0;Margin:0"><a href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/6/uxFAHEwPFZyyoIfyKN2i0Q/aHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ2FITDhCWmNobzhBa2VNOXdja1FieWc" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:underline;color:#333333" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/6/uxFAHEwPFZyyoIfyKN2i0Q/aHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ2FITDhCWmNobzhBa2VNOXdja1FieWc&source=gmail&ust=1731586528916000&usg=AOvVaw35gzM0dgKG8QFWbaErRb5S"><img title="Youtube" src="https://ci3.googleusercontent.com/meips/ADKq_NYxr7vXp62rdfUJTmC76VPL7ErYx7DTXmdpM3gt6ghQ1Ag6E9aLTkja5Jgff_A5020Lrm7K20cjG2RjHCtGTSd2DWxmCD4XvB5VEDXXyL_ivnQBG-hXm42mKYqlBHYFHKwEr9p44lIt=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/youtube-logo-gray.png" alt="Yt" width="32" height="32" style="display:block;border:0;outline:none;text-decoration:none" class="CToWUd" data-bit="iit"></a></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
<tr style="border-collapse:collapse">
|
||||
<td style="padding:0;Margin:0" align="left">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border-spacing:0px">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td valign="top" align="center" style="padding:0;Margin:0;width:600px">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" background="https://ci3.googleusercontent.com/meips/ADKq_NampjHRjJZ3baaTx33h9V0oSoEjb-2o7_fcpmn-1dUnLvv6V5scomVNacYWHrfG6qEkvr2zkGxev2FZM1Il-iso7oWteJv-7PdfwvFssSuZVMCp0UOlCKCnmw8Z8PjUmFIwLw=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg" style="border-collapse:collapse;border-spacing:0px;background-image:url(https://ci3.googleusercontent.com/meips/ADKq_NampjHRjJZ3baaTx33h9V0oSoEjb-2o7_fcpmn-1dUnLvv6V5scomVNacYWHrfG6qEkvr2zkGxev2FZM1Il-iso7oWteJv-7PdfwvFssSuZVMCp0UOlCKCnmw8Z8PjUmFIwLw=s0-d-e1-ft#{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-mails/nw-mail-body.jpg);background-repeat:no-repeat;background-position:left top" role="presentation">
|
||||
<tbody><tr style="border-collapse:collapse">
|
||||
<td align="center" style="padding:0;Margin:0;padding-top:10px;padding-bottom:15px"><p style="Margin:0;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';line-height:21px;color:#5c4c44"><a href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/7/gW554gvv1wvMdFBMyZJEBQ/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3Rlcm1zLWFuZC1jb25kaXRpb25z" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:none;color:#2471a9" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/7/gW554gvv1wvMdFBMyZJEBQ/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3Rlcm1zLWFuZC1jb25kaXRpb25z&source=gmail&ust=1731586528916000&usg=AOvVaw0mS9wOaJS7g7XyJCz5ZHwf">Términos y Condiciones</a> | <a href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/8/pAW0ZbVFf6fPl9Ch2pJi6g/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3JlZnVuZC1wb2xpY3k" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:none;color:#2471a9" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/8/pAW0ZbVFf6fPl9Ch2pJi6g/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3JlZnVuZC1wb2xpY3k&source=gmail&ust=1731586528916000&usg=AOvVaw3akrXM3foI7oi-tQNc2Ja4">Política de Reembolso</a> | <a href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/9/DEEnndjoRg4gzDjv_4Xn_g/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3ByaXZhY3ktcG9saWN5" style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';font-size:14px;text-decoration:none;color:#2471a9" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/9/DEEnndjoRg4gzDjv_4Xn_g/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzL3ByaXZhY3ktcG9saWN5&source=gmail&ust=1731586528916000&usg=AOvVaw3ANOEzlHeVGFQc0SCUfHg4">Política de Privacidad</a><br>{{ NOMBRE_SERVIDOR }} © {{ ANIO_ACTUAL }}</p></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</div>
|
||||
<br><a style="font-family:Arial,sans-serif" href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/0/fwi1q3h4v1W2Ieyp00-ZKQ/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw?b=1" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/0/fwi1q3h4v1W2Ieyp00-ZKQ/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw?b%3D1&source=gmail&ust=1731586528916000&usg=AOvVaw27bfsinVJjoIjvw7SUEke7">​</a><div style="display:none;height:0px;width:0px;overflow:hidden"><a href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/0/fwi1q3h4v1W2Ieyp00-ZKQ/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw?b=2" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/0/fwi1q3h4v1W2Ieyp00-ZKQ/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw?b%3D2&source=gmail&ust=1731586528916000&usg=AOvVaw38Ql-LUoglc9YYPmg_RQr3">Click on me</a></div><a href="https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/0/fwi1q3h4v1W2Ieyp00-ZKQ/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw?b=3" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://079xk.mjt.lu/lnk/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/0/fwi1q3h4v1W2Ieyp00-ZKQ/aHR0cHM6Ly91bHRpbW93b3cuY29tL2VzLw?b%3D3&source=gmail&ust=1731586528916000&usg=AOvVaw0jgJOOmTH0DNToOBL2REW-">
|
||||
<img src="https://ci3.googleusercontent.com/meips/ADKq_NaOOYGTBCERULgUShUPJS2ZRmLb4VQ1WG0gcfJa3pJm89cJpmSx4agN4VT3V1CS51FQowD-UQ1rjl1cQNS73dUGLsTRr65QGhdsbnmEWsWk8s_Xad7bsxXu4GzKY9hj5sdLtwKynZzhHOQatM4_-CDaReCp7mzC-b8fyBfmegheCy7aTuIrBeyGmtRh=s0-d-e1-ft#https://079xk.mjt.lu/oo/AWIAAFV0XXYAAAAAAAAAAlmz1CcAAYCtSIUAAAAAACPUeABnNHt5OLp-JQdyTQe689o67voJTAAhkNU/a398f5af/e.gif" height="1" width="1" alt="" border="0" style="height:1px;width:1px;border:0" class="CToWUd" data-bit="iit" jslog="138226; u014N:xr6bB; 53:WzAsMl0.">
|
||||
</a></div><div class="yj6qo"></div><div class="adL">
|
||||
|
||||
</div></div></div><div class="WhmR8e" data-hash="0"></div></div>
|
||||
@@ -48,6 +48,7 @@
|
||||
<script src="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-js-handlers/trade_points_response.js"></script>
|
||||
<script src="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-js-handlers/change_email_response.js"></script>
|
||||
<script src="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-js-handlers/register.js"></script>
|
||||
<script src="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-js-handlers/security_token_response.js"></script>
|
||||
<script>var aowow_tooltips = { "colorlinks": true, "iconizelinks": true, "renamelinks": true }</script>
|
||||
<script src="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-js/nw-scripts.js"></script>
|
||||
|
||||
|
||||
@@ -24,9 +24,10 @@
|
||||
<br>
|
||||
<br>
|
||||
<p>Fecha de solicitud de Token de seguridad:</p>
|
||||
<p><span>Sin solicitar</span></p>
|
||||
<p><span id="token-date">{{ token_date }}</span></p>
|
||||
<br>
|
||||
<form id="uw-sec-token-form" action="" method="POST" accept-charset="utf-8">
|
||||
<form id="nw-sec-token-form" method="POST">
|
||||
{% csrf_token %}
|
||||
<button class="sec-token-button" type="submit" name="securitytoken" data-id="Sectoken">Solicitar token</button>
|
||||
</form>
|
||||
<br>
|
||||
|
||||
+99
-5
@@ -10,7 +10,7 @@ from django.db import connections
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth import logout
|
||||
from django import forms
|
||||
from .models import Noticia, ClienteCategoria, ServerSelection, RecruitAFriend, DownloadClientPage, ContentCreator, RecruitReward, ClaimedReward, AccountActivation
|
||||
from .models import Noticia, ClienteCategoria, ServerSelection, RecruitAFriend, DownloadClientPage, ContentCreator, RecruitReward, ClaimedReward, AccountActivation, SecurityToken
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
@@ -20,6 +20,8 @@ from django.utils import timezone
|
||||
from .library_correo import enviar_correo
|
||||
from django.utils.crypto import get_random_string
|
||||
from django.conf import settings
|
||||
import secrets
|
||||
|
||||
|
||||
# Configuración del logger
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -584,7 +586,7 @@ def my_account(request):
|
||||
|
||||
# Si la sesión no tiene el usuario, redirigir al inicio de sesión
|
||||
if not username:
|
||||
return redirect('login')
|
||||
return redirect('log-in')
|
||||
|
||||
is_logged_in = True # Si el usuario está en la sesión, asumimos que está conectado
|
||||
|
||||
@@ -781,12 +783,104 @@ def change_password_view(request):
|
||||
return render(request, 'account/change_password.html')
|
||||
|
||||
|
||||
|
||||
|
||||
def get_user_from_acore(username):
|
||||
"""
|
||||
Obtiene la información del usuario desde la base de datos `acore_auth`.
|
||||
"""
|
||||
with connections['acore_auth'].cursor() as cursor:
|
||||
cursor.execute("SELECT id, email FROM account WHERE username = %s", [username])
|
||||
result = cursor.fetchone()
|
||||
if result:
|
||||
return {'id': result[0], 'email': result[1]}
|
||||
return None
|
||||
|
||||
def security_token_view(request):
|
||||
# Verificar si el usuario está autenticado mediante la sesión
|
||||
username = request.session.get('username')
|
||||
if not username:
|
||||
return redirect('login')
|
||||
|
||||
# Obtener el usuario desde la base de datos de `acore_auth`
|
||||
user_data = get_user_from_acore(username)
|
||||
if not user_data:
|
||||
return redirect('login')
|
||||
|
||||
user_id = user_data['id']
|
||||
email = user_data['email']
|
||||
ip_address = request.META.get('REMOTE_ADDR')
|
||||
|
||||
# Verificar si existe un token activo para mostrar la fecha en la plantilla
|
||||
existing_token = SecurityToken.objects.filter(user_id=user_id).first()
|
||||
|
||||
# Obtener la fecha del token o "Sin solicitar" si no hay token
|
||||
token_date = "Sin solicitar"
|
||||
if existing_token:
|
||||
token_date = existing_token.created_at.strftime('%H:%M:%S %d-%m-%Y')
|
||||
|
||||
if request.method == 'POST':
|
||||
# Verificar si ya existe un token activo y si ha caducado
|
||||
if existing_token and existing_token.expires_at > timezone.now():
|
||||
remaining_days = (existing_token.expires_at - timezone.now()).days
|
||||
return JsonResponse({
|
||||
'success': False,
|
||||
'message': f'<span class="red-form-response">Sólo puedes solicitar un nuevo Token de seguridad cada 7 días, faltan {remaining_days} días para generar un nuevo Token.</span>'
|
||||
})
|
||||
|
||||
# Generar un nuevo token
|
||||
token = secrets.token_urlsafe(4)[:6]
|
||||
expires_at = timezone.now() + timedelta(days=7)
|
||||
|
||||
# Eliminar tokens anteriores del usuario
|
||||
SecurityToken.objects.filter(user_id=user_id).delete()
|
||||
|
||||
# Crear y guardar el nuevo token
|
||||
new_token = SecurityToken.objects.create(
|
||||
user_id=user_id,
|
||||
token=token,
|
||||
ip_address=ip_address,
|
||||
expires_at=expires_at
|
||||
)
|
||||
|
||||
# Enviar el correo con el token al usuario
|
||||
send_security_token_email(email, username, token, ip_address)
|
||||
|
||||
# Obtener la nueva fecha del token
|
||||
new_token_date = new_token.created_at.strftime('%H:%M:%S %d-%m-%Y')
|
||||
|
||||
# Responder con un mensaje exitoso y la nueva fecha
|
||||
return JsonResponse({
|
||||
'success': True,
|
||||
'message': f'<span class="ok-form-response">Se ha enviado el Token de seguridad al correo {email}.</span>',
|
||||
'token_date': new_token_date
|
||||
})
|
||||
|
||||
# Pasar `token_date` al contexto de la plantilla
|
||||
return render(request, 'account/security_token.html', {
|
||||
'token_date': token_date
|
||||
})
|
||||
|
||||
def send_security_token_email(email, username, token, ip_address):
|
||||
"""
|
||||
Vista para la página de 'Security Token'.
|
||||
Simplemente renderiza un template con información relevante.
|
||||
Envía un correo electrónico con el token de seguridad.
|
||||
"""
|
||||
return render(request, 'account/security_token.html')
|
||||
context = {
|
||||
'username': username,
|
||||
'token': token,
|
||||
'ip_address': ip_address,
|
||||
'NOMBRE_SERVIDOR': settings.NOMBRE_SERVIDOR
|
||||
}
|
||||
|
||||
# Llamada a tu función personalizada `enviar_correo`
|
||||
enviar_correo(
|
||||
subject=f'Token de seguridad de la cuenta {username} - {settings.NOMBRE_SERVIDOR}',
|
||||
to_email=email,
|
||||
template='emails/security_token.html', # Asegúrate de que este template exista
|
||||
context=context
|
||||
)
|
||||
|
||||
|
||||
|
||||
def change_email_view(request):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user