python发送邮件,带附件邮件,图片,文档,二进制文件
代码
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
from email.mime.application import MIMEApplication
line = "请查看附件"
def sendmail(smtp_host,smtp_port,subject,smtp_sender,smtp_receive,password):
message = MIMEMultipart()
message['Subject'] = subject
message['From'] = smtp_sender
message['To'] = smtp_receive
message.attach(MIMEText(line, 'plain', 'utf-8'))
atttxt = MIMEApplication(open("testatt.txt",'r').read())
atttxt.add_header('Content-Disposition', 'attachment', filename="testatt.txt")
message.attach(atttxt)
attdoc = MIMEApplication(open("testatt.docx","rb").read())
attdoc.add_header('Content-Disposition', 'attachment', filename="testatt.docx")
message.attach(attdoc)
attimag = MIMEApplication(open("testatt.jpg","rb").read())
attimag.add_header('Content-Disposition', 'attachment', filename="testatt.jpg")
message.attach(attimag)
attzip = MIMEApplication(open("testatt.zip","rb").read())
attzip.add_header('Content-Disposition', 'attachment', filename="testatt.zip")
message.attach(attzip)
smtp = smtplib.SMTP_SSL(smtp_host, smtp_port)
smtp.connect(smtp_host, smtp_port)
smtp.login(smtp_sender, password)
smtp.sendmail(smtp_sender, smtp_receive, message.as_string())
print('发送成功')
smtp.quit()
if __name__ == '__main__':
smtp_host = "smtp.qq.com"
smtp_port = 465
subject = "qq_mail"
smtp_sender = "9******8@qq.com"
smtp_receive = "9******8@qq.com"
password = 'a******e'
sendmail(smtp_host,smtp_port,subject,smtp_sender,smtp_receive,password)
发送成功
