Odoo-Tutorial/cenhomes_student/utils/mail.py
2025-03-04 16:53:07 +07:00

61 lines
2.0 KiB
Python

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 (<path_image>, <name_image>)
: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")