'Send an activation email to the user associated with this
``RegistrationProfile``.
The activation email will use the following templates,
which can be overriden by setting ACTIVATION_EMAIL_SUBJECT,
ACTIVATION_EMAIL_BODY, and ACTIVATION_EMAIL_HTML appropriately:
``registration/activation_email_subject.txt``
This template will be used for the subject line of the
email. Because it is used as the subject line of an email,
this template\'s output **must** be only a single line of
text; output longer than one line will be forcibly joined
into only a single line.
``registration/activation_email.txt``
This template will be used for the text body of the email.
``registration/activation_email.html``
This template will be used for the html body of the email.
These templates will each receive the following context
variables:
``user``
The new user account
``activation_key``
The activation key for the new account.
``expiration_days``
The number of days remaining during which the account may
be activated.
``site``
An object representing the site on which the user
registered; depending on whether ``django.contrib.sites``
is installed, this may be an instance of either
``django.contrib.sites.models.Site`` (if the sites
application is installed) or
``django.contrib.sites.requests.RequestSite`` (if
not). Consult the documentation for the Django sites
framework for details regarding these objects\' interfaces.
``request``
Optional Django\'s ``HttpRequest`` object from view.
If supplied will be passed to the template for better
flexibility via ``RequestContext``.'

def send_activation_email(self, site, request=None):

    activation_email_subject = getattr(settings, u'ACTIVATION_EMAIL_SUBJECT', u'registration/activation_email_subject.txt')
    activation_email_body = getattr(settings, u'ACTIVATION_EMAIL_BODY', u'registration/activation_email.txt')
    activation_email_html = getattr(settings, u'ACTIVATION_EMAIL_HTML', u'registration/activation_email.html')
    ctx_dict = {u'user': self.user, u'activation_key': self.activation_key, u'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS, u'site': site}
    subject = (getattr(settings, u'REGISTRATION_EMAIL_SUBJECT_PREFIX', u'') + render_to_string(activation_email_subject, ctx_dict, request=request))
    subject = u''.join(subject.splitlines())
    from_email = getattr(settings, u'REGISTRATION_DEFAULT_FROM_EMAIL', settings.DEFAULT_FROM_EMAIL)
    message_txt = render_to_string(activation_email_body, ctx_dict, request=request)
    email_message = EmailMultiAlternatives(subject, message_txt, from_email, [self.user.email])
    if getattr(settings, u'REGISTRATION_EMAIL_HTML', True):
        try:
            message_html = render_to_string(activation_email_html, ctx_dict, request=request)
        except TemplateDoesNotExist:
            pass
        else:
            email_message.attach_alternative(message_html, u'text/html')
    email_message.send()
