python3发送邮件,网上找了个demo在阿里云机器上发送不成功,鼓捣了好久问题搞定。demo如下:
import smtplib, time
import email.mime.multipart
import email.mime.text
to = 'XXX@qq.com'
cc = ['XXX@qq.com']
tos = [to] + cc
msg = email.mime.multipart.MIMEMultipart()
msg['from'] = user_email
msg['to'] = to
msg['cc'] = ",".join(cc)
msg['subject'] = '邮件测试'
content = '这是一封测试邮件 测试时间戳:%s' % time.time()
txt = email.mime.text.MIMEText(content)
msg.attach(txt)
smtp = smtplib
smtp = smtplib.SMTP_SSL('smtp.exmail.qq.com', 465)
#下面这种方式在本地测试可以,但是在阿里云服务器上无法发送
#smtp=smtplib.SMTP()
#smtp.connect('smtp.tom.com','25')
smtp.login('XXX@qq.com', '******')
smtp.sendmail('XXX@qq.com', tos, str(msg))
smtp.quit()
若要发送html格式的邮件,修改如下一行即可:
txt = email.mime.text.MIMEText(content, 'html', 'utf-8')
第二个参数默认'plain',表示发送内容为文本。