46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
from loadYaml import loadYaml
|
|
import smtplib
|
|
from email.mime.multipart import MIMEMultipart
|
|
from email.mime.text import MIMEText
|
|
from email.utils import formataddr
|
|
|
|
config = loadYaml('config.yaml')
|
|
emailConfig = config.get('email')
|
|
|
|
sender = emailConfig.get('from')
|
|
user = emailConfig.get('user')
|
|
passwd = emailConfig.get('passwd')
|
|
receivers = emailConfig.get('to')
|
|
|
|
receiversEmailAddress = []
|
|
receiversAddr = []
|
|
for recipient in receivers:
|
|
receiversEmailAddress.append(recipient[1])
|
|
receiversAddr.append(formataddr(recipient))
|
|
|
|
def send(subject, content, sendAll):
|
|
message = MIMEMultipart('related')
|
|
message['From'] = formataddr(sender)
|
|
if sendAll:
|
|
message['To'] = ", ".join(receiversAddr)
|
|
else:
|
|
message['To'] = receiversAddr[0]
|
|
|
|
|
|
message['Subject'] = subject
|
|
|
|
msgAlternative = MIMEMultipart('alternative')
|
|
message.attach(msgAlternative)
|
|
|
|
msgAlternative.attach(MIMEText(content, 'html', 'utf-8'))
|
|
|
|
server = smtplib.SMTP_SSL('smtp.163.com', 465)
|
|
server.login(user, passwd)
|
|
|
|
if sendAll:
|
|
server.sendmail(user, receiversEmailAddress, message.as_string())
|
|
else:
|
|
server.sendmail(user, [receiversEmailAddress[0]], message.as_string())
|
|
|
|
server.quit()
|
|
print('邮件发送成功') |