import smtplib
import email.utils
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from Ansjer.config import SES_SENDER, SES_SENDERNAME, SES_USERNAME_SMTP, SES_PASSWORD_SMTP, SES_PORT, SES_HOST
class S3Email:
def faEmail(self, sys_msg_text, username):
SENDER = 'rdpublic@ansjer.com' # 邮箱名
SENDERNAME = 'rdpublic@ansjer.com'
USERNAME_SMTP = 'AKIA2E67UIMD6MOSFKXW' # 带有邮件权限的 IAM 帐号
PASSWORD_SMTP = 'BHuQ6EQTtFK4qh46o9omO9ZzO3NXzjk/JCWLXnVFmqzM' # 带有邮件权限的 IAM 密码
PORT = '587'
HOST = 'email-smtp.us-east-1.amazonaws.com'
SUBJECT = sys_msg_text
BODY_TEXT = (sys_msg_text
)
BODY_HTML = """
{}
""".format(sys_msg_text)
msg = MIMEMultipart('alternative')
msg['Subject'] = SUBJECT
msg['From'] = email.utils.formataddr((SENDERNAME, SENDER))
msg['To'] = username
part1 = MIMEText(BODY_TEXT, 'plain')
part2 = MIMEText(BODY_HTML, 'html')
msg.attach(part1)
msg.attach(part2)
try:
server = smtplib.SMTP(HOST, PORT)
server.ehlo()
server.starttls()
server.ehlo()
server.login(USERNAME_SMTP, PASSWORD_SMTP)
server.sendmail(SENDER, username, msg.as_string())
server.close()
except Exception as e:
print("Error: ", e)
else:
print("Email sent!")
@staticmethod
def send_email(title, data, username):
"""
发送亚马逊SES电子邮件
@param title: 标题
@param data: 内容
@param username: 发送到邮箱
@return: 成功 | 失败
"""
SUBJECT = title
BODY_TEXT = (title
)
BODY_HTML = data
msg = MIMEMultipart('alternative')
msg['Subject'] = SUBJECT
msg['From'] = email.utils.formataddr((SES_SENDERNAME, SES_SENDER))
msg['To'] = username
part1 = MIMEText(BODY_TEXT, 'plain')
part2 = MIMEText(BODY_HTML, 'html')
msg.attach(part1)
msg.attach(part2)
try:
server = smtplib.SMTP(SES_HOST, SES_PORT)
server.ehlo()
server.starttls()
server.ehlo()
server.login(SES_USERNAME_SMTP, SES_PASSWORD_SMTP)
server.sendmail(SES_SENDER, username, msg.as_string())
server.close()
return True
except Exception as e:
print(repr(e))
return False