12345678910111213141516171819202122232425 |
- from django.core.mail import EmailMessage
- from django.db.models.signals import post_save
- from django.dispatch import receiver
- from django.template.loader import get_template
- from desecapi import models
- @receiver(post_save, sender=models.Domain, dispatch_uid=__name__)
- def domain_handler(sender, instance, created, raw, using, update_fields, **kwargs):
- if instance.is_locally_registrable:
- content_tmpl = get_template('emails/domain-dyndns/content.txt')
- subject_tmpl = get_template('emails/domain-dyndns/subject.txt')
- from_tmpl = get_template('emails/from.txt')
- context = {
- 'domain': instance.name,
- 'url': f'https://update.{instance.parent_domain_name}/',
- 'username': instance.name,
- 'password': models.Token.objects.create(user=instance.owner, name='dyndns')
- }
- email = EmailMessage(subject_tmpl.render(context),
- content_tmpl.render(context),
- from_tmpl.render(context),
- [instance.owner.email])
- email.send()
|