import base64 import html from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from smtplib import SMTP MAIL_HOST = "email-smtp.ap-southeast-1.amazonaws.com" MAIL_PORT = 587 MAIL_USERNAME = "AKIA2QKDGMD2T4HS4YEW" MAIL_PASSWORD = "BHna7DQSNOQozfkve/Cnf5PHzRoxubKuPcoWgr5pjasO" MAIL_FROM = "no.reply@cenhomes.vn" # MAIL_FROM = 'noreply@gianhadat.cenhomes.vn' # MAIL_HOST = 'email-smtp.ap-southeast-1.amazonaws.com' # 'mail.cengroup.vn' # MAIL_PORT = 587 # MAIL_USERNAME = 'AKIAV5AKOOKTCTQ44U43' # 'inf' # MAIL_PASSWORD = 'BH4+AwKm1Ph1kqi8/WR1+k67K158Gah6KG3iTyXi2JCy' # 'BGblSpfOdW+RKsvVkmLrTn9LTSk0mlakN7l9dXC/ZSgw' # MAIL_ENCRYPTION = 'tls' def send_email(to, subject='Thông báo từ ERP Cenhomes', content='', images=None): """ :param to: gửi đến email nào :param subject: tiêu đề là gì :param content: chuỗi html nội dung mail :param images: mảng các image cần gắn vào mail. Định dạng mỗi phần từ của mảng là tuple (, ) :return: """ if images is None: images = [] try: if content is None: return None message = MIMEMultipart() message["From"] = MAIL_FROM message["To"] = to # message["Cc"] = destination message["Subject"] = subject message.attach(MIMEText(html.unescape(content), 'html')) for image in images: fp = open(image[0], 'rb') msg_image = MIMEImage(fp.read()) fp.close() msg_image.add_header('Content-ID', f'<{image[1]}>') message.attach(msg_image) conn = SMTP(host=MAIL_HOST, port=MAIL_PORT) conn.starttls() conn.login(user=MAIL_USERNAME, password=MAIL_PASSWORD) conn.sendmail(MAIL_FROM, to.split(","), message.as_string()) return True except Exception as error: raise error if __name__ == '__main__': send_email(to="tiennv.110@gmail.com")