FIX: chyba pri odeslani mailu chycena, logovana
This commit is contained in:
parent
52abbb54eb
commit
63d8af6031
|
@ -22,6 +22,16 @@ logger = logging.getLogger(__name__)
|
||||||
USER_MODEL = get_user_model()
|
USER_MODEL = get_user_model()
|
||||||
|
|
||||||
|
|
||||||
|
def send_mail_safe(subject, message, from_email, recipient_list):
|
||||||
|
""" Posle mail. Vyskytne-li se pri odesilani chyba, vypise ji do logu. Vrati uspesnost. """
|
||||||
|
try:
|
||||||
|
send_mail(subject, message, from_email, recipient_list)
|
||||||
|
except Exception as e:
|
||||||
|
logger.error("send_mail failed with error: %s" % str(e))
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
class EmailTokenAuthBackend:
|
class EmailTokenAuthBackend:
|
||||||
"""
|
"""
|
||||||
Provides authorization via email workflow.
|
Provides authorization via email workflow.
|
||||||
|
@ -113,7 +123,6 @@ def sendLoginToken(user):
|
||||||
user.etStamp = datetime.now()
|
user.etStamp = datetime.now()
|
||||||
user.save()
|
user.save()
|
||||||
|
|
||||||
emailSubj = 'Piráti - nalodění - přihlašovací odkaz'
|
|
||||||
emailBody = """\
|
emailBody = """\
|
||||||
Dobrý den,
|
Dobrý den,
|
||||||
|
|
||||||
|
@ -128,16 +137,15 @@ S pozdravem
|
||||||
Piráti
|
Piráti
|
||||||
"""
|
"""
|
||||||
|
|
||||||
send_mail(
|
send_mail_safe(
|
||||||
emailSubj,
|
'Piráti - nalodění - přihlašovací odkaz',
|
||||||
emailBody.format(
|
emailBody.format(
|
||||||
emailToken=emailToken,
|
emailToken=emailToken,
|
||||||
baseUrl=appSettings.BASE_URL),
|
baseUrl=appSettings.BASE_URL),
|
||||||
"nalodeni@pirati.cz",
|
"nalodeni@pirati.cz",
|
||||||
[user.email], # email to ...
|
[user.email]
|
||||||
fail_silently=False,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def sendRegisterToken(f_email):
|
def sendRegisterToken(f_email):
|
||||||
"""
|
"""
|
||||||
|
@ -186,7 +194,6 @@ def sendRegisterTokenReg(rt):
|
||||||
if appSettings.TOKEN_VALID_SEC <= 60*60*24*1:
|
if appSettings.TOKEN_VALID_SEC <= 60*60*24*1:
|
||||||
word_days = "den"
|
word_days = "den"
|
||||||
|
|
||||||
emailSubj = 'Piráti - nalodění - registrační odkaz'
|
|
||||||
emailBody = """\
|
emailBody = """\
|
||||||
Vítej na palubě!
|
Vítej na palubě!
|
||||||
|
|
||||||
|
@ -201,18 +208,17 @@ S pozdravem
|
||||||
Piráti
|
Piráti
|
||||||
"""
|
"""
|
||||||
|
|
||||||
send_mail(
|
send_mail_safe(
|
||||||
emailSubj,
|
'Piráti - nalodění - registrační odkaz',
|
||||||
emailBody.format(
|
emailBody.format(
|
||||||
emailToken=emailToken,
|
emailToken=emailToken,
|
||||||
baseUrl=appSettings.BASE_URL,
|
baseUrl=appSettings.BASE_URL,
|
||||||
days=int(math.floor(appSettings.TOKEN_VALID_SEC / (60*60*24))),
|
days=int(math.floor(appSettings.TOKEN_VALID_SEC / (60*60*24))),
|
||||||
word=word_days),
|
word=word_days),
|
||||||
"nalodeni@pirati.cz",
|
"nalodeni@pirati.cz",
|
||||||
[rt.email], # email to ...
|
[rt.email]
|
||||||
fail_silently=False,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def sendEmailContactVerificationToken(user):
|
def sendEmailContactVerificationToken(user):
|
||||||
""" Send validation email to user.email_contact. """
|
""" Send validation email to user.email_contact. """
|
||||||
|
@ -238,7 +244,6 @@ def sendEmailContactVerificationToken(user):
|
||||||
sha256hash.update(ecw.encode('utf-8'))
|
sha256hash.update(ecw.encode('utf-8'))
|
||||||
|
|
||||||
emailToken = sha256hash.hexdigest()
|
emailToken = sha256hash.hexdigest()
|
||||||
emailSubj = 'Piráti - nalodění - ověření kontaktního emailu'
|
|
||||||
emailBody = """\
|
emailBody = """\
|
||||||
Dobrý den,
|
Dobrý den,
|
||||||
|
|
||||||
|
@ -256,19 +261,17 @@ S pozdravem
|
||||||
Piráti
|
Piráti
|
||||||
"""
|
"""
|
||||||
|
|
||||||
send_mail(
|
send_mail_safe(
|
||||||
emailSubj,
|
'Piráti - nalodění - ověření kontaktního emailu',
|
||||||
emailBody.format(
|
emailBody.format(
|
||||||
email_contact = ecw,
|
email_contact = ecw,
|
||||||
emailToken=emailToken,
|
emailToken=emailToken,
|
||||||
baseUrl=appSettings.BASE_URL),
|
baseUrl=appSettings.BASE_URL),
|
||||||
"nalodeni@pirati.cz",
|
"nalodeni@pirati.cz",
|
||||||
[ecw], # email to ...
|
[ecw]
|
||||||
fail_silently=False,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#TODO:: osetreni transakci (pro pripad utoku typu DDoS)
|
#TODO:: osetreni transakci (pro pripad utoku typu DDoS)
|
||||||
|
|
|
@ -29,7 +29,6 @@ from django.db.models import F
|
||||||
|
|
||||||
from django.core.validators import validate_email
|
from django.core.validators import validate_email
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
from django.core.mail import send_mail
|
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
@ -572,10 +571,10 @@ def souhlas(request):
|
||||||
request.user.dc_stamp = None
|
request.user.dc_stamp = None
|
||||||
request.user.dc_undo_stamp = datetime.now()
|
request.user.dc_undo_stamp = datetime.now()
|
||||||
messages.info(request, "Odvolal/a jste souhlas se zpracováním osobních údajů.")
|
messages.info(request, "Odvolal/a jste souhlas se zpracováním osobních údajů.")
|
||||||
send_mail(
|
nalodeni_auth.send_mail_safe(
|
||||||
"Nalodeni: %s odvolal souhlas se zpracovanim osobnich udaju" % request.user.email,
|
"Nalodeni: %s odvolal souhlas se zpracovanim osobnich udaju" % request.user.email,
|
||||||
"Stalo se tak {mydate}".format(mydate=request.user.dc_undo_stamp),
|
"Stalo se tak {mydate}".format(mydate=request.user.dc_undo_stamp),
|
||||||
"nalodeni@pirati.cz", [appSettings.EMAIL_RECIPIENT_GDPR],
|
"nalodeni@pirati.cz", [appSettings.EMAIL_RECIPIENT_GDPR]
|
||||||
)
|
)
|
||||||
request.user.save()
|
request.user.save()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue