#!/usr/bin/env python3 import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.utils import formataddr def send_notify(email, body): msg = MIMEMultipart() msg['From'] = formataddr((app.config['EMAIL_FROM'], app.config['EMAIL_HOST_USER'])) msg['To'] = ", ".join([email]) msg['Subject'] = app.config['EMAIL_FROM'] msg.attach(MIMEText(body, 'html')) app.logger.info(msg) try: smtpObj = None smtpObj = smtplib.SMTP( app.config['EMAIL_HOST'], port=app.config['EMAIL_PORT'] ) app.logger.info(smtpObj.ehlo()) if app.config['EMAIL_USE_TLS']: smtpObj.starttls() smtpObj.login(app.config['EMAIL_HOST_USER'], app.config['EMAIL_HOST_PASSWORD']) app.logger.info(msg) smtpObj.send_message(msg) smtpObj.quit() app.logger.info("Письмо успешно отправлено") except (smtplib.SMTPAuthenticationError, smtplib.SMTPConnectError, smtplib.SMTPDataError, smtplib.SMTPException, smtplib.SMTPHeloError, smtplib.SMTPRecipientsRefused, smtplib.SMTPResponseException, smtplib.SMTPSenderRefused, smtplib.SMTPServerDisconnected) as e: app.logger.error("Ошибка доставки письма") print(e.message)