zoukankan      html  css  js  c++  java
  • 基于python发送邮件(写成了一个类)

    基于python进行邮件的发送

    代码如下:

    '''
    Created on 2021年12月22日
    
    @author: linuxbugs
    '''
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.application import MIMEApplication
    from email.mime.multipart import MIMEMultipart
    from email.mime.image import MIMEImage
    from email.header import Header
    
    
    
    class EmailMessage(object):
        def __init__(self):
            self.mail_server = 'smtp.163.com'    #163邮箱服务器地址
            self.mail_user = 'xxxx@163.com'   #163用户名
            self.__mail_pass = 'xxxx'   #密码(部分邮箱为授权码)  
            self.sender_name = 'xxx@163.com'   #邮件发送方邮箱地址
            self.message = MIMEMultipart()
        
        def setup(self,subject,receivers): 
            self.receivers = receivers   #邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
            self.message['From'] = self.sender_name #发送方信息
            self.message['To'] = ','.join(self.receivers)  #接受方信息
            # self.message['Cc'] = ';'.join(list)  # 抄送
            self.message['Subject'] = Header(subject)  #邮件主题
         
        def addTextMessage(self,message,type='plain',encoding='utf-8'):
            '''邮件文本内容'''
            if type not in ['plain','html']:
                raise TypeError('message type must be plain or html')
            message_text = MIMEText(message,type,encoding)
            self.message.attach(message_text)
        
        def addAnnex(self,path,name='xxx.png',byte=False):
            '''添加附件'''
            if byte == True:
                annex = MIMEApplication(path) # 打开附件
            else:
                annex = MIMEApplication(open(path,'rb').read()) # 打开附件
            annex.add_header('Content-Disposition', 'attachment',filename=name)
            self.message.attach(annex)
            
        def sendEmail(self):
            '''登录并发送邮件'''
            send_status='success'
            try:
                smtpObj = smtplib.SMTP(self.mail_server,port=25)  #连接到服务器
                smtpObj.login(self.mail_user,self.__mail_pass)  #登录到服务器
                #发送
                smtpObj.sendmail(self.sender_name,
                                 self.receivers,
                                 self.message.as_string()) 
                
                smtpObj.quit()  # 退出
            except smtplib.SMTPException as e:
                send_status='error %s'%e
            return send_status
    
    # if __name__ == '__main__':
    #     es = EmailMessage()
    #     es.setup('新的测试',['xxxxx@163.com'])
    #     # es.addAnnex('/home/linuxbugs/Pictures/20211217_230038.png')
    #     es.sendEmail()
    #
    

      

    转载请标明出处:http://www.cnblogs.com/duzhaoqi/
  • 相关阅读:
    mysql备份与binlog
    linux释放cached
    linux下mysql迁移到其他分区
    java分析jvm常用指令
    Mac下安装WebStrom
    Final
    Spring 复习
    ubuntu 14.4安装java环境
    php复习
    java 重难点
  • 原文地址:https://www.cnblogs.com/duzhaoqi/p/15760863.html
Copyright © 2011-2022 走看看