简单给大家写个如何用Python进行发邮件和查看邮件教程,希望对各位有所帮助。
本文主要分为两部分,内容不多很快就能看完。
代码如下:
import smtplib
# 设置服务器的地址和端口
smtpobj = smtplib.SMTP_SSL('smtp.163.com', 465)
# 向邮件服务器打招呼,建立连接必不可少的一步
smtpobj.ehlo()
# 登录到smtp服务器
smtpobj.login('xxxxxx@163.com', 'LSKEFHPOxxxxxJW')
# 163邮箱给qq邮箱发送邮件
smtpobj.sendmail('xxxxxxxx@163.com', 'xxxxxxx@qq.com', 'Subject: test message\nhello,this is a test message')
# 从smtp服务器断开
smtpobj.close()
代码如下:
import imapclient
import pprint
# 设置邮箱服务器的接收地址和端口
imap0bj = IMAPClient("imap.163.com", ssl=True, port=993)
# 登录到imap服务器
imap0bj.login("xxxxxx1@163.com", "LSKEFHPOVxxxxxxJW")
# 基于 RFC 2971协议 的IMAP4 ID extension 的通信规则,连接服务器需要上传ID信息
imap0bj.id_({"name": "xxxxx", "version": "2.1.0"})
# 查看邮箱列表
pprint.pprint(imap0bj.list_folders())
# 查看邮箱列表哪个文件夹里的信息
messages = imap0bj.select_folder('已发送')
pprint.pprint(messages)
# 搜索这个文件夹里的所有东西,这里只是返回邮件的唯一ID
uids = imap0bj.search(['ALL'])
print(uids)
# 遍历邮件的ID来逐个显示其内容
for uid in uids:
message = imap0bj.fetch(uid, ['BODY[]'])
pprint.pprint(message)
# 断开服务器连接
imap0bj.logout()
第一步:先import一下库,pprint这里的作用是让数据格式便于阅读。
第二步:设置邮箱服务器的地址和端口,这里采用 ssl=True 加密模式进行传输。
第三步:输入邮箱账号和授权码 (注意不是登录用的密码)进行登录。
第四步:这个是人家要求的,必须得上传一下ID身份信息,看下图。我测了一下name那里填写xxxxx也行,懂我意思吧。
相关链接:https://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e49998b374173cfe9171305fa1ce630d7f67ac2eda07326646e6eb0
第五步:查看邮箱列表,我的是这样的。
代码量不多,大家可以试一下。
这只是自动化收发邮件的第一步,后续有时间我出个电脑触发某个时间后程序自动向目标邮箱发送指定内容的教程吧哈哈哈哈哈啊哈哈。