美文网首页
2019-08-08 python发送邮件(附件)

2019-08-08 python发送邮件(附件)

作者: 古月月月胡 | 来源:发表于2019-08-08 17:54 被阅读0次

    Exchange发送邮件

    config.email_url :邮箱服务地址
    config.email_user :账户
    config.email_pas:密码

    import config
    import os
    from exchangelib import DELEGATE, Account,Credentials,Configuration,NTLM,Message,Mailbox,HTMLBody,FileAttachment
    from exchangelib.protocol import BaseProtocol,NoVerifyHTTPAdapter
    
    BaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter
    cred = Credentials(config.email_user,config.email_pass)
    con = Configuration(server=config.email_url,credentials=cred,auth_type=NTLM)
    account = Account(primary_smtp_address=config.email_user, config=con,autodiscover=False,access_type=DELEGATE)
    
    class Mail():
        def __init__(self,to_list,sub,content,attach_list=[]):
            self.to_list = to_list
            self.sub = sub
            self.content = content
            self.attach_list = attach_list
    
        def send_mail(self):
            #mail_host = "smtp.126.com"
            to_list = []
            for address in self.to_list:
                to_list.append(Mailbox(email_address=address))
            try:
                m = Message(account=account,folder=account.sent,subject=self.sub,body=self.content,to_recipients=to_list)
                if self.attach_list:
                    for fpath in self.attach_list:
                        if not os.path.isfile(fpath):
                            continue
                        with open(fpath,'rb') as f:
                            cont = f.read()
                        name = os.path.basename(fpath)
                        attachf = FileAttachment(name=name,content=cont)
                        m.attach(attachf)
                m.send_and_save()
                return True,'success'
            except Exception as e:
                return False,str(e)
    
    if __name__=='__main__':
        content = '''邮件发送 测试'''
        mail = Mail(['mrhusong@126.com'],"测试",content)
        print(mail.send_mail())
    

    163邮箱发送邮件

    https://www.cnblogs.com/xiaodai12138/p/10483158.html

    相关文章

      网友评论

          本文标题:2019-08-08 python发送邮件(附件)

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