import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

from django.core.mail import send_mail
from django.template.loader import render_to_string

from apps.usuarios.models import Usuario
from vitalappdjango import settings
from vitalappdjango.settings import EMAIL_HOST_USER

def send_forget_password_mail(email, token, url):
    print("USER()()", EMAIL_HOST_USER)
    data = {}
    try:
        user = Usuario.objects.get(email=email)
        user.token = token
        user.save()

        mailServer = smtplib.SMTP(settings.EMAIL_HOST, settings.EMAIL_PORT)
        mailServer.starttls()
        mailServer.login(settings.EMAIL_HOST_USER, settings.EMAIL_HOST_PASSWORD)

        email_to = email
        mensaje = MIMEMultipart()
        mensaje['From'] = settings.EMAIL_HOST_USER
        mensaje['To'] = email_to
        mensaje['Subject'] = 'Reseteo de contraseña'

        content = render_to_string('recovery_pass/send_email.html', {
            'user': user,
            'link_resetpwd': 'http://{}/cambiar_contraseña/{}/'.format(url, str(user.token)),
            'link_home': 'http://{}'.format(url)
        })
        mensaje.attach(MIMEText(content, 'html'))
        mailServer.sendmail(settings.EMAIL_HOST_USER,
                            email_to,
                            mensaje.as_string())
        print('envio ==>  ', mailServer)

    except Exception as e:
        data['error'] = str(e)
    return data

    # subject = 'Reset password instructions'
    # #message = 'Alguien, con suerte usted, ha solicitado restablecer la contraseña de su cuenta http://127.0.0.1:8000/change-password/{token}/'
    # message = 'Ha solicitado restablecer la contraseña de su cuenta http://127.0.0.1:8000/cambiar_contraseña/'
    # email_from = EMAIL_HOST_USER
    # recipient_list = [email]
    # send_mail(subject, message, email_from, recipient_list)
    # return True