Handle SMTPRecipientsRefused in send_email

This commit is contained in:
Son NK 2020-03-09 09:22:40 +01:00
parent b05daecd28
commit 1c5c5896f8

View File

@ -15,6 +15,7 @@ from app.log import LOG
from app.models import GenEmail, DeletedAlias from app.models import GenEmail, DeletedAlias
from app.models import Mailbox from app.models import Mailbox
from app.pgp_utils import PGPException, load_public_key from app.pgp_utils import PGPException, load_public_key
from smtplib import SMTPRecipientsRefused
class ChangeEmailForm(FlaskForm): class ChangeEmailForm(FlaskForm):
@ -68,29 +69,35 @@ def mailbox_detail_route(mailbox_id):
+ f"?mailbox_id={mailbox_id_signed}" + f"?mailbox_id={mailbox_id_signed}"
) )
send_email( try:
new_email, send_email(
f"Confirm mailbox change on SimpleLogin", new_email,
render( f"Confirm mailbox change on SimpleLogin",
"transactional/verify-mailbox-change.txt", render(
user=current_user, "transactional/verify-mailbox-change.txt",
link=verification_url, user=current_user,
mailbox_email=mailbox.email, link=verification_url,
mailbox_new_email=new_email, mailbox_email=mailbox.email,
), mailbox_new_email=new_email,
render( ),
"transactional/verify-mailbox-change.html", render(
user=current_user, "transactional/verify-mailbox-change.html",
link=verification_url, user=current_user,
mailbox_email=mailbox.email, link=verification_url,
mailbox_new_email=new_email, mailbox_email=mailbox.email,
), mailbox_new_email=new_email,
) ),
)
flash( except SMTPRecipientsRefused:
f"You are going to receive an email to confirm {new_email}.", flash(
"success", f"Incorrect mailbox, please recheck {mailbox.email}",
) "error",
)
else:
flash(
f"You are going to receive an email to confirm {new_email}.",
"success",
)
return redirect( return redirect(
url_for("dashboard.mailbox_detail_route", mailbox_id=mailbox_id) url_for("dashboard.mailbox_detail_route", mailbox_id=mailbox_id)
) )