自动获取邮箱验证码【下集】
上集为大家讲解了Gmail的专用密码设置和IMAP的设置,接下来主要为大家展示一下代码的实现
邮件协议
-
收取邮件有两种协议,POP3和IMAP,POP3相对于IMAP功能较少无法对邮件进行更深层次的操作,
-
因此本文使用IMAP协议收取邮件。python提供了很多收邮件的模块,本文使用imaplib来接收邮件。
难点
-
获得邮件不难,难点是如何解析邮件的内容,由于邮件内容的编码是不固定的,因此编码格式的选择影响着解析邮件内容的正确性
-
重申一次:由于Gmail属于国外的邮箱所以在使用的时候一定要 ·科·学·上·网· 才能顺利运行。
import imaplib
import email
import re
class receive_gmail:
def __init__(self):
self.emailuser = "【Gmail邮箱】"
self.emailpasswd = "【专用密码】"
self.imapserver = 'imap.gmail.com'
self.imapport = 993 # IMAP协议专用端口,该端口可根据各个邮箱厂家的协议绑定
self.conn = self.connect_mail()
self.mailidlist = self.get_mailidlist()
def connect_mail(self):
conn = imaplib.IMAP4_SSL(host=self.imapserver, port=self.imapport)
conn.login(self.emailuser, self.emailpasswd)
conn.list() # 列出邮箱中所有的列表,如:收件箱、垃圾箱、草稿箱。。。
conn.select('INBOX') # 选择收件箱(默认)