POP3 是Post Office Protocol 3的简称,即邮局协议的第3个版本,是TCP/IP协议族中的一员(默认端口是110)。POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。
IMAP 是Internet Mail Access Protocol,即交互式邮件访问协议,是一个应用层协议(端口是143)。IMAP像POP3那样提供了方便的邮件下载服务,让用户能进行离线阅读。
SMTP 是“Simple Mail Transfer Protocol”,即简单邮件传输协议(25号端口)。SMTP是一个“推”的协议,它不允许根据需要从远程服务器上“拉”来消息。SMTP服务器就是遵循SMTP协议的发送邮件服务器,SMTP认证就是要求必须在提供了账户名和密码【客户端授权密码】之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。
客户端授权密码 如何设置:
登录邮箱后:——》设置——》常规设置——》客户端授权密码——》授权码——》这个授权码是python 使用SMTP模块登录时,需要提供的密码。
否则就会报 smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed')
另外就是传输协议与端口要对应:
"""
邮箱 发件服务器 非SSL协议端口 SSL协议端口
163 smtp.163.com 25 smtplib.SMTP() 465/587 smtplib.SMTP_SSL()
qq smtp.qq.com 25 465/587
"""
另外一个错误: 就是TypeError: expected string or bytes-like object
这个说的就是你发送的内容是MIMEText 对象,必须使用as_string() 转成字符串。
另外一个错误 :smtplib.SMTPDataError: (554, b'DT:SPM 126 smtp1,C8mowADHyRBlsoRc2yIHAg--.28708S2 1552200294,please see
当你什么都写好了,然后程序跑起来的时候,出现了一个这样的错误,是不是相等的郁闷呢。
这是因为邮件的主题,或者内容,带有test 等字样,要发送的邮件被服务器当成垃圾邮件给拒绝了。
企业退信的常见问题? 这里有个对应的链接:http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html
如果以上文件都处理以后呢,是不是程序就跑起来了呢?
网友评论