Python automatically sends mail -- smtplib module

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.mime.image import MIMEImage

account='[email protected]'  #发件人
pwd = '*******'    #第三方授权码,需登录qq mail web页,开通设置。
to = ['[email protected]','[email protected]','[email protected]'] # 发送给多个收件人
host='smtp.qq.com'      #主机
atta_path = r'C:\Users\Administrator\Desktop\testdata.txt'  #附件路径与名称
name='要展示的文件名.txt'      #附件显示的名称
img_path = r'C:\Users\Administrator\Desktop\dog.jpg'    #显示在正文中的图片

# 这是正文显示部分,其中img标签中的src的cid:0,这个0与下文的content-ID对应。

content='''
<html><body><h3>
Project:</h3>  <p>mobile test</p>
<h3>Tester:</h3> <p>fish</p>
<h3>Date:</h3> <p>2019/12/12</p>
<h3>Result:</h3> <p>Pass</p>
<p>For morn details,you can check <a href= 'https://www.baidu.com'>Test Result</a></p>
<img src='cid:0' alt = 'picture'>
</body></html>
'''
def sendmail():
    
    ret = True
    try:
        msg = MIMEMultipart()
        msg['Subject'] = 'Test'
        msg['From'] = account
        msg['To'] = ';'.join(to)
        
        #将图片显示在邮件正文中
        fp=open(img_path,'rb')
        img= MIMEImage(fp.read())
        img.add_header('Content-ID', '0')
        msg.attach(img)
        
        #邮件中显示正文
        part_text = MIMEText(content,'html','UTF-8')
        msg.attach(part_text)
        
        
        #这是附件部分,不同类型的附件,只需修改名称、位置、要显示的名字
        part_att = MIMEApplication(open(atta_path,'rb').read())
        part_att.add_header('Content-Disposition', 'attachment', filename=name)
        msg.attach(part_att)
        
        #实例化一个SMTP的对象,然后登录、发送邮件
        s = smtplib.SMTP(host,timeout= 30)
        s.login(account,pwd)
        s.sendmail(account,to,msg.as_string())
        s.close()
    except Exception as e:
        ret = False
        resaon = str(e)
    return ret
        
ret = sendmail()

if ret:
    print('send successfully')
else:
    print('Error: send failed: ',reason)

The above code can realize a simple automatic sending of emails, and will not be displayed in the trash.

Guess you like

Origin blog.csdn.net/qq_38140936/article/details/103577968