美文网首页
自动化之使用python3发送邮件

自动化之使用python3发送邮件

作者: test小星星 | 来源:发表于2018-09-26 14:41 被阅读9次
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    from email.mime.multipart import MIMEMultipart
    
    class SendMail():
        '''
        发送邮件
        '''
    
        def __init__(self,smtpserver, username, password, sender, receiver):
    
            self.smtpserver = smtpserver    #发送邮箱服务器
            self.username = username        #发送邮箱用户
            self.password = password        #密码
            self.sender = sender            #发送邮箱
            self.receiver = receiver       #接收邮箱
            self.msg = MIMEMultipart('alternative')
    
        def send_text(self, title, text, annex_file):
    
            #标题信息
            self.msg['Subject'] = Header(title,'utf-8')
    
            #正文内容
            part1 = MIMEText(text,'plain','utf-8')
            self.msg.attach(part1)
    
            # 构造附件
            with open(annex_file,'rb') as f:
                send_body = f.read()
    
            att = MIMEText(send_body,'base64','utf-8')
            att["Content-Type"] = 'application/octet-stream'
            # 这里的filename可以任意写,写什么名字,邮件中显示什么名字
            att["Content-Disposition"] = 'attachment;filename="result.html"'
            self.msg.attach(att)
            self.msg['From'] = self.sender
            self.msg['To'] =  self.receiver #"my fans"  #接收器的名字可以定制
    
            #连接发送邮件
            try:
                smtp = smtplib.SMTP()
                smtp.connect(self.smtpserver,25)    # 25 为 SMTP 端口号
                smtp.login(self.username,self.password)
                smtp.sendmail(self.sender,self.receiver,self.msg.as_string())
                smtp.quit()
                print("发送成功")
            except smtplib.SMTPException as e:
                print ("Error: cannot send my email")
                print (e)
    

    相关文章

      网友评论

          本文标题:自动化之使用python3发送邮件

          本文链接:https://www.haomeiwen.com/subject/oewdoftx.html