def send_code(email, fieldsetup):
# create code and expiration time
context = dict(fieldsetup.mail_context)
context['code'] = (get_code(email, fieldsetup) or
str(randint(10 ** (fieldsetup.code_length - 1), 10 ** fieldsetup.code_length - 1)))
context['expiration_time'] = now() + timedelta(0, fieldsetup.code_ttl)
# store code and expiration time in cache
cache.set(fieldsetup.cache_prefix + email, (context['expiration_time'], context['code']))
# create message
msg = EmailMultiAlternatives(
subject=fieldsetup.mail_subject,
body=get_template(fieldsetup.mail_template_txt).render(context),
from_email=fieldsetup.mail_from,
to=[email],
headers={'X-Mailer': fieldsetup.mail_mailer},
)
msg.attach_alternative(get_template(fieldsetup.mail_template_html).render(context), 'text/html')
msg.send()
评论列表
文章目录