python 发送邮件
注意: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!!!\')