コード例 #1
0
    def test_create_activation_key(self):
        user = get_user_model().objects.create(**VALID_DATA)

        activation_key = utils.create_activation_key(user)

        self.assertTrue(activation_key)
        self.assertEqual(len(activation_key), 40)
コード例 #2
0
    def test_create_activation_key(self):
        user = get_user_model().objects.create(**VALID_DATA)

        activation_key = utils.create_activation_key(user)

        self.assertTrue(activation_key)
        self.assertEqual(len(activation_key), 40)
コード例 #3
0
def reset_password_link(sender, instance, **kwargs):
    try:
        reset_key = utils.create_activation_key(instance)
        link = settings.BASE_URL + '/reset/%s' % reset_key
        user_profile = instance.profile
        user_profile.password_recovery_key = reset_key
        user_profile.save()
        timeNow = datetime.now()

        profile = ProfileMetaProp.objects.get(pk=1)
        FROM = '<strong>Любовь и Ненависть'
        USER = profile.user_name
        PASSWORD = profile.password
        PORT = profile.smtp_port
        SERVER = profile.smtp_server
        TO = instance.profile.email
        SUBJECT = 'Восстановление доступа'

        MESSAGE = MIMEMultipart('alternative')
        MESSAGE['subject'] = SUBJECT
        MESSAGE['To'] = TO
        MESSAGE['From'] = "{}".format(FROM)
        MESSAGE.preamble = """
                Your mail reader does not support the report format.
                Please visit us <a href="http://www.divorcesus.com">online</a>!"""

        f = codecs.open("templates/activate_inline.html", 'r')
        mess = str(f.read())
        mess = str.replace(mess, '[greeting]', 'Приветствуем Вас на ЛХ,')
        mess = str.replace(
            mess, '[greeting_statement]',
            'Нажмите на кнопку ниже для восстановления доступа.')
        mess = str.replace(mess, '[greeting_link]', 'Восстановить Пароль')
        mess = str.replace(mess, '[greeting_sent]',
                           'Это сообщение было послано на адрес')
        mess = str.replace(mess, '[greeting_global_link]',
                           'Любовь и Ненависть')
        mess = str.replace(mess, '[greeting_locale]',
                           'Москва, Российская Федерация')
        mess = str.replace(mess, '[First Name]', instance.username)
        mess = str.replace(mess, '[message]', 'Восстановление Доступа')
        mess = str.replace(mess, '*****@*****.**',
                           instance.profile.email)
        mess = str.replace(mess, '[link]', link)

        HTML_BODY = MIMEText(mess.encode('utf-8'), 'html', 'utf-8')

        MESSAGE.attach(HTML_BODY)
        msg = MESSAGE.as_string()

        server = smtplib.SMTP(SERVER + ':' + PORT)
        server.ehlo()
        server.starttls()
        server.login(USER, PASSWORD)
        server.sendmail(FROM, TO, msg)
        server.quit()
    except Exception as R:
        log = Logger(log='Failed resetting {}'.format(str(R)))
        log.save()
コード例 #4
0
def send_activation_link(instance):
    mess = 'Please activate your account.'
    try:
        activation_key = utils.create_activation_key(instance)
        link = settings.BASE_URL + '/activate/%s' % activation_key
        user_profile = instance.profile
        user_profile.activation_key = activation_key
        user_profile.save()

        timeNow = datetime.now()

        profile = ProfileMetaProp.objects.get(pk=1)
        FROM = profile.from_email
        USER = profile.user_name
        PASSWORD = profile.password
        PORT = profile.smtp_port
        SERVER = profile.smtp_server
        TO = instance.profile.email
        SUBJECT = 'Activate your account'

        MESSAGE = MIMEMultipart('alternative')
        MESSAGE['subject'] = SUBJECT
        MESSAGE['To'] = TO
        MESSAGE['From'] = FROM
        MESSAGE.preamble = """
                Your mail reader does not support the report format.
                Please visit us <a href="http://www.divorcesus.com">online</a>!"""

        path = "templates/activate_template.html"

        f = codecs.open(path, 'r')

        m = f.read()

        mess = string.replace(m, '[first]', instance.first_name)
        mess = string.replace(mess, '[last]', instance.profile.last_name)
        mess = string.replace(mess, '[greeting]', 'Dear')

        mess = string.replace(
            mess, '[greeting_statement]',
            'Thank You for registering with <br/><strong>Grinberg and Segal Family Law Division</strong>'
        )
        mess = string.replace(mess, '[greeting_sent]',
                              'This email was sent to ')
        mess = string.replace(mess, '*****@*****.**',
                              instance.profile.email)
        mess = string.replace(mess, '[greeting_global_link]',
                              'Gringerg and Segal Family Law Division')
        mess = string.replace(mess, '[global_link]', 'https://divorcesus.com')
        mess = string.replace(mess, '[greeting_locale]', 'New York, NY, USA')

        mess = string.replace(mess, '[greeting_link]', 'Activate your account')
        mess = string.replace(mess, '*****@*****.**',
                              instance.profile.email)
        mess = string.replace(mess, '[link]', link)

        message = mess

        HTML_BODY = MIMEText(message, 'html', 'utf-8')
        MESSAGE.attach(HTML_BODY)
        msg = MESSAGE.as_string()
        server = smtplib.SMTP(SERVER + ':' + PORT)
        server.ehlo()
        server.starttls()
        server.login(USER, PASSWORD)
        server.sendmail(FROM, TO, msg)
        server.quit()
        instance.profile.activation_key = activation_key
        instance.profile.save()
        instance.save()
        log = Logger(log="LET US SEND IT {}".format(activation_key))
        log.save()
    except Exception as R:
        log = Logger(log='WE FAILED SENDING ACTIVATION %s' % str(R))
        log.save()