范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python实现邮件自动收发

  前言
  邮件是信息传递的一种很有效的方式,我们只需知道对方的邮箱地址,就可以给对方传文字、图片或者更复杂的信息。今天就用 Python 带大家来实现邮件的自动收发。 准备工作
  在我们收发邮件时,需要输入邮箱和邮箱密码。但是直接使用密码会有安全隐患,所以我们选择用授权码登陆。
  这个工作并非必要的,只是出于安全考虑。这里使用 163 邮箱进行收发,我们先登录自己的邮箱:https://mail.163.com/。登录后会看到如下页面:
  我们点击设置->POP3 就可以开启 IMAP/SMTP 服务。按照提示要求发送验证码就可以获取授权码了,这个授权码需要我们记住。 使用 yagmail+keyring 进行邮件的发送
  我们可以选择 Python 自带的 email 模块进行邮件的发送,但是操作起来会比较麻烦。所以在这里我们使用一个第三方模块 yagmail 来实现邮件的发送。而 keyring 模块可以和 yagmail 结合起来,保存密码信息。我们先来安装这两个模块: pip install yagmail pip install keyring
  接下来我们看看 yagmail 如何发送邮件: import yagmail import keyring  user = "你的邮箱" pwd = "你的授权码"  ### 注册 yagmail.register(user, pwd)  ### 连接 SMTP 服务器 yag = yagmail.SMTP(user=user, host="smtp.163.com")  ### 设置邮件的内容 contents = [     "这是一封测试邮件" ]  ### 发送邮件 yag.send("收件邮箱", "邮件主题", contents=contents)
  在上面我们发送了一封简单的邮件。我们分了一下几个步骤: 注册邮箱 连接邮箱服务器 设置邮件内容 发送邮件
  我们使用 register 方法进行注册。注册后我们就可以在 keyring 中获取我们的授权码了。
  然后我们用 SMTP 方法连接邮箱服务器。因为我们使用的是 163 邮箱,所以也需要用 163 的服务器。我们把 host 设置为 163 的 ip,如果使用的是其它邮箱可以在设置中查看 SMTP 邮箱服务器 ip。
  之后是设置邮件内容,内容是以列表的形式存放的。
  最后调用 send 方法,传入收件人的邮箱和邮件主题,以及邮件内容就可以完成邮件的发送了。 发送图片邮件
  传统的邮件发送图片我们需要先手动将图片上传到邮箱服务器,然后获取一个值后才能进行发送。而 yagmail 在这方面做了一些优化,我们不需要自己上传图片,只需要用 yagmali.inline() 包含图片路径就可以了。 import yagmail import keyring  user = "你的邮箱" pwd = "你的授权码"  ### 注册 yagmail.register(user, pwd)  ### 连接 SMTP 服务器 yag = yagmail.SMTP(user=user, host="smtp.163.com")  ### 设置邮件的内容 contents = [     "这是一张图片",     yagmail.inline("im.jpg") ]  ### 发送邮件 yag.send("收件邮箱", "邮件主题", contents=contents)
  仔细一看,我们几乎没有额外添加什么代码。只是在内容里放了一个文件的名称,我们只需要这样就能实现图片的发送。
  准确来说应该是放入图片的路径,但是我图片和 py 文件在同一目录下,所以不需要额外写根目录。 发送带有附件邮件
  附件的发送同样不需要我们上传文件,我们只需要给一个文件路径就可以了。 import yagmail import keyring  user = "你的邮箱" pwd = "你的授权码"  ### 注册 yagmail.register(user, pwd)  ### 连接 SMTP 服务器 yag = yagmail.SMTP(user=user, host="smtp.163.com")  ### 设置邮件的内容 contents = [     "这是一张图片",     "im.jpg" ]  ### 发送邮件 yag.send("收件邮箱", "邮件主题", contents=contents)
  而上传附件就更加简单,我们直接传入图片的路径就好了。
  yagmail 会判断你的内容中是否包含了文件,如果包含了文件它就会自动上传然后发送给收件人。免去了我们大量的工作。 读取邮件
  邮件的读取需要通过 imBox 模块实现,读取的时候我们肯定是需要密码的。这个时候 keyring 就起作用了,我们在注册的时候就把用户和密码存储了,然后即使我们的程序已经结束了,还是可以读取到密码,我们来看看代码怎么写: import keyring from imbox import Imbox  ### 邮件 user = "你的邮箱" ### 获取密码 password = keyring.get_password("yagmail", user) ### 打开收件箱 with Imbox("imap.163.com", user, password, ssl=True) as imbox:     msgs = imbox.messages()
  其中 msgs 就是我们的邮件列表。但是我们通常是读取未读邮件,我们就可以进行一下简单的设置: import keyring from imbox import Imbox  user = "你的邮箱" password = keyring.get_password("yagmail", user)  with Imbox("imap.163.com", user, password, ssl=True) as imbox:     msgs = imbox.messages(unread=True)
  我们把 unread 属性设置为 True,就表示读取未读邮件。接下来我们来遍历一下邮箱: import keyring from imbox import Imbox  user = "你的邮箱" password = keyring.get_password("yagmail", user)  with Imbox("imap.163.com", user, password, ssl=True) as imbox:     ### 读取未读邮件     msgs = imbox.messages(unread=False)     ### 遍历邮件     for uid, msg in msgs:         ### 把读到的邮件设置为已读         imbox.mark_seen(uid)         ### 把邮件内容以文本的形式输出         print(msg.body["plain"])
  在邮件中包含了一个独一无二的 id,我们用这个 id 来区分邮件。我们读取到某个邮件后,可以通过它的 id 将它设置为已读。然后输出邮件的 body["plain"],就是将邮件内容以文本的形式输出。 定时读取邮件
  邮件的定时读取并不是什么难题,我们可以使用 schedule 模块,操作起来比较方便。也可以选择使用 time 模块,个人认为 time 模块更好理解: import time import keyring from imbox import Imbox  user = "你的邮箱" password = keyring.get_password("yagmail", user)  while True:     with Imbox("imap.163.com", user, password, ssl=True) as imbox:         msgs = imbox.messages(unread=False)         for uid, msg in msgs:             imbox.mark_seen(uid)             print(msg.body["plain"])     time.sleep(10)
  这里只加了几句代码,首先是把读取邮件部分的代码放到了 while 循环中,然后在每次循环结束前都延时 10 秒,这样就达到了没 10 秒读取一次邮件的效果。总体来说还是非常简单的。

中国学生被要求给留学生打扫宿舍?事情有些复杂,学校这么解释今天打开手机,看到一个引发了很多网友热议的消息就在昨天晚上,有网友发帖子称,自己被学校要求给外国留学生清扫宿舍,而当这个中国学生走进外国留学生的宿舍时,发现外国留学生的宿舍实在是太老板称,只为了拿工资而工作的员工,不会有大的出息!你怎么看?最近国内疫情已经过去了,各地大大小小的企业已经纷纷复工。不过因为受疫情的影响,一切小老板的日子并不是很好过,这段时间除了生产口罩和头盔等商品的企业外,多数企业的订单都在大幅度减少,熔喷布价格暴跌超90,生产设备如今被当废铁卖,投机者彻底懵了大家也许还记得前一阵子的头盔热,因为国家出台了一带一盔政策,要求六一之后电动自行车车主必须带头盔上路,全国各地交警大检查,查到没有带头盔上路要处罚。结果头盔价格一下子涨了好几倍,很中国的一些专家,为什么会经常提一些不靠谱甚至搞笑的建议?大家都知道,我们周边有很多的专家,他们知识丰富,学问渊博,说起话来各种专用名词术语随口而出,滔滔不绝,理论水平很高,让人感到很厉害的样子。不过有一些专家在面对问题,提出具体建议的时开发商为了盖楼挖村民祖坟,尸骨被随处抛洒,村民被惹怒了就在前几天,山东省临清市烟店镇刘梭庄村的七八十名村民联合状告开发商的消息被媒体报道之后,引起了不少网友的关注,因为这件事涉及到一个触动了很多人情感的问题开发商为了盖楼,竟然挖村民祖这才是真正的躺枪美国黑人女子正在睡觉,被警察连开20多枪打死很多人经常说一句调侃的话,那就是躺着中枪。当然,这样的事情在现实生活中发生的可能性是微乎其微的,你躺在那里,怎么可能中枪呢,是不是?不过,这样的事情还真是发生了!这件事就发生在美国救下女童的海尔小哥获得60万元房产奖励,网友干得漂亮现在有很多网友都在追星,每天关注明星的衣食住行,明星的绯闻和八卦,其实我觉得,大家应该把更多的时间和精力,用在关注充满了正能量的普通人身上。比如说,就在这几天,媒体爆出一个引发众多司机快速路正开车,一只黑影跑出来,随后传来一声闷响出事了大家都知道,现在车辆越来越多,交通事故也随之增加了,造成交通事故的原因是多方面的,有的是司机的原因,有的是行人的原因,还有一些是不可预测的原因,不管怎么说,10次事故9次快,降低车拼多多火了,最近地摊经济也火了!这是更接地气还是消费降级了?大家都知道,拼多多这几年越来越火,使用用户越来越多,有媒体最新报道称,现在拼多多的用户到了6亿多,随着用户的增多,拼多多的销售额也是不断年年增长。拼多多最初是在四五线乡镇和小城市开电费高得离谱,户主剪掉自家电表多余的线十字路口红绿灯竟灭了大千世界无奇不有,有的很奇葩,有的很搞笑,也有些很离谱让人哭笑不得!今天说的这个事情,就很让人哭笑不得。就在前几天,湖州的黄师傅发现,自己家中的电费高到离谱。黄师傅平时是一个比较节女童被老师体罚导致吐血?事情不是网传的那样家长承认撒谎了关于老师体罚学生的问题,一直受到不少网友的关注,有些网友支持适度的体罚,理由是现在很多孩子太不听话了,根本就不服管,被家长给惯坏了,如果不拿出点严厉的措施,根本就管不住他们。但是也
智度股份目前为贪玩游戏完美世界等游戏提供搜索和信息流广告服务e公司讯,智度股份表示,公司目前为贪玩游戏完美世界等游戏提供搜索和信息流广告服务,同时与腾讯在游戏联运方面开展业务合作。公司投资的国光电器与国际顶级平台公司M客户(原F客户)在所有二季净利降39,阿里系单日蒸发逾3000亿,阿里健康股价年内跌7111月19日消息,阿里巴巴港股盘中跌10。77报139。2港元股,总市值3。03万亿港元。消息面上,阿里巴巴第二季度实现营收2006。9亿元,同比增长29,不及市场预计的2061。mate40pro还是iPhone13哪个好?从一个的普通消费者的层面来说,我个人是极力推荐iPhone13的,倒不是因为Mate40Pro不够好,而是从普通消费者的角度来说,还是iPhone13更适合。看到这里可能有人会怼我想开发一个和美团差不多的APP,比如说买菜的APP,大概得需要多少钱?开发这样一个APP的价格的话,少则几万,多则十几万甚至上百万,如果你找一些APP开发公司让他们报价的话肯定市又高有底,而且价格差别也可能天差地别,这个也是因为目前的APP外包行业从鼎桥通信正式实锤,麒麟芯片开始外销,这对华为意味着什么?如果没有记错的话,鼎桥这家公司是华为和诺西的合资公司,华为轮值董事长徐直军在鼎桥通信担任董事,因此鼎桥和华为的关系还是比较紧密的,而且从鼎桥的产品线来看,基本上是把华为的所有产品系华为Mate50真机曝光,无边框设计很惹眼,独占骁龙898定制版现在的华为正在经历第4轮严重打击,余承东想要顺利推出一款更具竞争力的产品,其实挺有难度的。不过即使这样,外界对华为的下一款旗舰机还是充满期待,他们希望华为P50系列之后,华为Mat双十一销量榜第一居然是小米?这个双十一手机行业来说可谓是火药味十足,早在一个月前各大厂商就开始摩拳擦掌准备在这个双十一分出个胜负。大家都有必胜的理由,对于苹果来说,刚刚凭借iPhone13在国内收获了第一的宝上市中的德尔玛,终沦为别人家的代工厂哈喽大家好,我是宇宙第二反套路防忽悠揭秘商业和资本真相的镰刀粉碎机柴妹,快点击下方卡片关注我吧如今很多企业都喜欢用营销代替研发。好像只要广告发得嗨,就可以对其他问题视而不见一样。比反转!字节宣布实行1075工作制之后,大厂们坐不住了曝!主页君给大家带来11月的第一份惊喜字节跳动员工爆料称字节要开始执行1075工作制度咱就是说,被大厂996007PUA的打工人们可以彻底解放了?图微博01hr你有1075,我有9苹果下代iPhone全曝光,堪称史诗般的大升级文明美无限众所周知了,在iPhone13发布后,苹果成为了当前手机市场热度最高的品牌,新机的销量也非常可观,甚至还出现了一机难求的火爆场面。但对于大部分果粉来说,既然iPhone1航天员会使用苹果手机吗?概率基本为负,果吹该醒醒了1973年4月,人类历史上第一部手机在马丁库帕的手中诞生2007年1月9日,第一代苹果手机iPhone在乔布斯手中诞生,人类也自此进入智能手机阶段。截至目前,智能手机已经成为了人们