怎样让Python处理邮件 - 初试exchangelib

为什么要自动处理邮件

休假的时候,看到手机邮箱图标右上角不断变大的数字,不点开看,全身不爽,看了又影响休假心情。基于多年经验的总结:

  1. 紧急的邮件不复杂,第一时间转发给正确的同事即可;
  2. 复杂的邮件不紧急,等休假结束后再处理;
  3. 既不重要也不紧急,如果是垃圾邮件,直接删除就好;
  4. 即紧急又重要,可以转换成一个紧急却不复杂和一个复杂但不紧急的邮件;

列好需求,发现程序可以处理上述情况1情况3,万能工具Python可以上场了。

Python连接邮箱的方法有2种,如果你的电脑已经安装Outlook客户端,可以使用鼎鼎大名的pywin32,利用Windows平台提供的COM接口,调用Outlook客户端完成邮件的收发,连接代码只有2行:

import win32com.client as win32
outlook = win32.Dispatch("Outlook.Application").GetNamespace("MAPI")

拿到outlook对象后,我们就可以遍历其中的邮箱账户和收发件箱里的邮件。
上述方法的好处是,代码中不需要输入用户名,密码,邮箱服务名等信息,也不需要开发人员操心连接服务器的安全认证,脏活累活全都委托Outlook客户端完成,坏处是,电脑必须安装付费软件Outlook。

如果你的电脑没有安装Outlook客户端,甚至不是Windows系统,可以使用第三方包exchangelib,通过SMTP协议访问邮箱服务器。

本文使用exchangelib处理邮件,网上文档很少,只有github托管页面的介绍。
使用前需要在线安装exchangelib,在命令控制台输入:pip install exchangelib

Python代码上场

首先需要通过SMTP协议,连接邮箱服务器,其中涉及安全认证的部分,比较复杂,会在后续文章中介绍,这里只需要照搬代码就行。

from exchangelib import Credentials, Account, DELEGATE, \
    Configuration, NTLM, Message, Mailbox
  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值