用python发邮件

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import os


class SendMail:

    def __init__(self, path, sender, receiver):
        self.sender_act = sender['sender']
        self.password = sender['password']
        self.receiver = receiver
        self.path = path
        try:
            self.file_list = os.listdir(self.path)
        except Exception as e:
            self.file_list =[self.path]
        self.smtp_server = smtplib.SMTP_SSL('smtp.qq.com')

    def create_email(self):
        self.msg = MIMEMultipart('alternative')
        self.msg['Subject'] = "每日报表"
        self.msg['From'] = self.sender_act
        self.msg['To'] = ','.join(self.receiver)
        for file in self.file_list:
            self.msg.attach(self.add_attachment(file))
        self.msg.attach(self.add_content())
        return self.msg

    def add_attachment(self, file):
        att_file = MIMEText(
            open(self.path + '/' + file, 'rb').read(),
            'base64', 'gbk')
        att_file["Content-Type"] = 'application/octet-stream'
        att_file.add_header(
            'Content-Disposition',
            'attachment', filename=('gbk', '', file))
        return att_file

    def add_content(self):
        html = '

您好,这是昨日报表,请您查阅。

' att_text = MIMEText(html, 'html') return att_text def send_email(self): msg = self.create_email() with self.smtp_server as conn: conn.login(self.sender_act, self.password) conn.sendmail(self.sender_act, self.receiver, msg.as_string()) print('邮件发送成功')

你可能感兴趣的:(用python发邮件)