zoukankan      html  css  js  c++  java
  • python 发邮件 ,转载:https://mp.weixin.qq.com/s/kmNZ04MlDve4AmCCOoT2HA

    Python对STMP支持有两个库,分别是smtplib和email。email库主要是负责构造邮件,smptlib库负责发送邮件。

         我们可以把Email提醒功能封装起来,我们需要的时候直接调用即可,这样慢慢的也可以形成我们自己的一个爬虫系统模块。

         

    图片

           我们现在具体来讲解一下,首先我们需要两个邮箱,一个用于发邮件,一个用于接收邮件,我这里用的分别是163邮箱和QQ邮箱.

       首先最重要的一步,就是开启STMP功能。

    图片

    图片

    上面两张图分别是163邮箱和QQ邮箱的STMP功能开通界面(必须要打开此功能

    我们将其封装好的代码如下:

    class SendMail(object):def __init__(self,username,passwd,recv,title,content,                 file=None,                 email_host='smtp.163.com',port=25):self.username = usernameself.passwd = passwdself.recv = recvself.title = titleself.content = contentself.file = fileself.email_host = email_hostself.port = portdef send_mail(self):        msg = MIMEMultipart()#发送内容的对象if self.file:#处理附件的            att = MIMEText(open(self.file).read())            att["Content-Type"] = 'application/octet-stream'            att["Content-Disposition"] = 'attachment; filename="%s"'%self.file            msg.attach(att)        msg.attach(MIMEText(self.content))#邮件正文的内容        msg['Subject'] = self.title  # 邮件主题        msg['From'] = self.username  # 发送者账号        msg['To'] = self.recv  # 接收者账号列表self.smtp = smtplib.SMTP(self.email_host,port=self.port)#发送邮件服务器的对象self.smtp.login(self.username,self.passwd)try:self.smtp.sendmail(self.username,self.recv,msg.as_string())        except Exception as e:            print('出错了',e)else:            print('发送成功!')def __del__(self):self.smtp.quit()
    # 调用封装if __name__ == '__main__': m = SendMail( username='XXX@163.com',passwd='XXX',recv='XXX@XXX.com',        title='JAVAandPython君',content='这里可以改成异常的输出',file='JAVA.txt' ) m.send_mail()

          上面43行代码就可以完美解决,因为最近项目里面也用到了这一块的知识,所以特意分享给大家,本人觉得还是比较实用的!

  • 相关阅读:
    .NET5微服务示例-Ocelot网关
    .NET5微服务示例-Polly熔断与降级
    .NET5微服务示例-Consul注册中心
    .NET下使用ELK日志中心
    [ 题解 ] [ 数学 ] [ JZOJ5809 ] 数羊
    [ 题解 ] [ 数学 ] 函数 (sequence) (欧拉函数)
    [ 题解 ] [ JZOJ5777 ] 小 x 玩游戏
    更换谷歌浏览器视频输入源
    axios 封装及 API 接口管理
    小程序代码压缩实践
  • 原文地址:https://www.cnblogs.com/testzcy/p/14390888.html
Copyright © 2011-2022 走看看