61 lines
2.0 KiB
Python
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")
|