常见邮箱IMAP服务使用说明

常见邮箱IMAP服务使用说明

使用邮箱服务需要在邮箱后台启用IMAP服务才能进行邮件抓取

Gmail邮箱

登录邮箱后
配置步骤参考:
https://support.google.com/mail/answer/7126229?visit_id=637109539905521650-3565494162&rd=2#cantsignin

  1. 在setting里开启pop & imap

  2. 开启安全性较低的应用访问

  3. 允许邮件服务器IP访问(直接访问 https://www.google.com/accounts/DisplayUnlockCaptcha)

QQ邮箱

配置步骤参考:
https://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=331

网易邮箱(126|163|yeah)

配置步骤参考:
http://help.163.com/10/0312/13/61J0LI3200752CLQ.html

网易邮箱有点变态需要二次验证才可以使用,慎用网易邮箱绑定后台,详细操作参考:https://www.cnblogs.com/lichsh/p/7596278.html

二次验证地址(需验证手机验证码)

http://config.mail.163.com/settings/imap/login.jsp?uid=xxxxxx@163.com

新浪邮箱

配置步骤参考:
http://help.sina.com.cn/i/117/1107_2.html

Outlook邮箱

配置步骤参考:
https://support.office.com/zh-cn/article/outlook-com-的-pop、imap-和-smtp-设置-d088b986-291d-42b8-9564-9c414e2aa040

Yahoo邮箱

配置步骤参考:
https://help.yahoo.com/kb/imap-server-settings-yahoo-mail-sln4075.html

https://help.yahoo.com/kb/fix-pop-imap-client-sending-receiving-issues-sln3792.html

SMTP

邮箱类型hostportsecure
gmailsmtp.gmail.com465ssl
yahoosmtp.mail.yahoo.com465ssl
outlooksmtp-mail.outlook.com(smtp.office365.com)587tls
hotmailsmtp.office365.com587tls
qqsmtp.qq.com465ssl
126smtp.126.com465ssl
yeahsmtp.126.com465ssl
sinasmtp.sina.com465ssl

IMAP

邮箱类型hostportsecurepath
gmailimap.gmail.com993ssl{imap.gmail.com:993/imap/ssl}INBOX
yahooimap.mail.yahoo.com993ssl{imap.mail.yahoo.com:993/imap/ssl}INBOX
outlookimap-mail.outlook.com993ssl{imap-mail.outlook.com:993/imap/ssl}INBOX
hotmailoutlook.office365.com993ssl{outlook.office365.com:993/imap/ssl}INBOX
qqimap.qq.com993ssl{imap.qq.com:993/imap/ssl}INBOX
126imap.126.com993ssl{imap.126.com:993/imap/ssl}INBOX
163imap.163.com993ssl{imap.163.com:993/imap/ssl}INBOX
yeahimap.yeah.net993ssl{imap.yeah.net:993/imap/ssl}INBOX
sinaimap.sina.com993ssl{imap.sina.com:993/imap/ssl}INBOX
您好!根据您的要求,我可以提供一个Python脚本来实现您的需求。以下是一个示例脚本,通过使用IMAP协议从指定邮箱中获取指定日期范围内的电子发票并下载到本地。 请注意,由于涉及到不同类型的邮箱,您可能需要安装相应的库。示例脚本使用了`imaplib`库来与IMAP服务器进行交互,您可以根据需要自行安装。 ```python import imaplib import email import datetime def download_invoices(username, password, start_date, end_date): # 连接到邮箱服务器 mail = imaplib.IMAP4_SSL('imap.example.com') # 替换成您的邮箱服务器地址 mail.login(username, password) # 选择邮箱文件夹 mail.select('INBOX') # 构造搜索条件 start_date = start_date.strftime('%d-%b-%Y') end_date = end_date.strftime('%d-%b-%Y') search_criteria = f'(SINCE "{start_date}" BEFORE "{end_date}")' # 搜索符合条件的邮件 result, data = mail.search(None, search_criteria) email_ids = data[0].split() for email_id in email_ids: # 获取邮件内容 result, data = mail.fetch(email_id, '(RFC822)') raw_email = data[0][1] msg = email.message_from_bytes(raw_email) # 检查发件人和标题是否符合要求 if msg['From'] in ['京东', 'sarm'] and '电子发票' in msg['Subject']: # 解析邮件内容,获取发票链接 for part in msg.walk(): if part.get_content_type() == 'text/html': content = part.get_payload(decode=True).decode() # 在content中查找发票链接并下载到本地 # 下载代码省略,您可以使用requests库来下载文件 # 关闭连接 mail.logout() if __name__ == "__main__": username = 'your_email@example.com' # 替换成您的邮箱地址 password = 'your_password' # 替换成您的邮箱密码 start_date = datetime.datetime(2023, 4, 1) # 替换成您的起始日期 end_date = datetime.datetime(2023, 5, 31) # 替换成您的结束日期 download_invoices(username, password, start_date, end_date) ``` 请注意,上述示例仅提供了一个框架,您需要根据具体的需求进行适当的修改和完善。在下载发票部分,您可以使用`requests`库来发送HTTP请求并保存文件到本地。 另外,请确保您已经安装相应的库,并且根据具体的邮箱类型和服务器地址进行适当的修改。此外,为了保证脚本的安全性,请确保将您的邮箱账号和密码等敏感信息存储在安全的地方。 希望这能帮到您!如果您有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值