注意:qq的密码是qq开启smtp时候给的授权码!
参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017790702398272
发送简单的邮件:
import smtplib from email.mime.text import MIMEText from email.header import Header mail_host='smtp.qq.com' mail_user='123456789@qq.com' mail_pwd='vhlc******cahg' #qq生成的授权码 receivers=['123456789@126.com'] subject='Python email test report' msg=MIMEText('<html><h1>你好!</h1></html>','html','utf-8') msg['Subject']=Header(subject,'utf-8') try: smtpObj=smtplib.SMTP() smtpObj.connect(mail_host) #上面两行也可以写成:smtpObj=smtplib.SMTP_SSL(mail_host,465) smtpObj.login(mail_user,mail_pwd) smtpObj.sendmail(mail_user,receivers,msg.as_string()) print('success!') except smtplib.SMTPException: print('fail!!!')
得到的邮件:

发送带附件的邮件:
import smtplib from email.mime.text import MIMEText from email.header import Header from email.mime.multipart import MIMEMultipart mail_host='smtp.qq.com' mail_user='123456@qq.com' mail_pwd='vhl****ahg' #qq生成的授权码 receivers=['123456@126.com'] subject='Python email test report' send_file=open('C:\\Users\\JChen46\\Documents\\2020-04-01 17_32_46_result.html', 'rb').read() att=MIMEText(send_file,'base64','utf-8') att['Content-Type']='application/octet-stream' att['Content-Disposition']='attachment; filename="2020-04-01 17_32_46_result.html"' msgRoot=MIMEMultipart('related') msgRoot['Subject']=subject msgRoot.attach(att) try: smtpObj=smtplib.SMTP() smtpObj.connect(mail_host) #上面两行也可以写成:smtpObj=smtplib.SMTP_SSL(mail_host,465) smtpObj.login(mail_user,mail_pwd) smtpObj.sendmail(mail_user,receivers,msgRoot.as_string()) print('success!') except smtplib.SMTPException: print('fail!!!')
浙公网安备 33010602011771号