在学习使用Python接受、发送邮件之前,我们应该了解一下邮件的发送与接受机制:
首先,假设我们的邮箱是example@163.com,接收方的邮箱是example@qq.com,现在我们使用一些邮件软件写好邮件,输入对方的邮箱,点击发送,就成功发送了邮件,这些邮件软件(例如outlook)就被称为MUA(Mail User Agent即邮件用户代理)。
当我们发送一封邮件后,并不是直接发送给对方,而是发送到网易提供的MTA(Mail Transfer Agent,邮件传输代理)上,并且由网易的MTA传输给腾讯的MTA,这个过程可能还会经过其他的MTA。
邮件到达腾讯的MTA上之后,就会将其投递到MDA(Mail Delivery Agent,即邮件投递代理)中,并躺在腾讯的服务器中,这个地方能是电子邮件长期保存,我们将其称之为 ‘电子邮箱’。(对比现实中的邮箱你会发现这个称呼很贴切)
最后,收件人使用MUA从MDA中取回邮件。
所以,一封邮件的旅程是这样的:
用户发送 ----> MUA ----> MTA1 …… ----> MTA ----> MDA ----> MUA 用户接收
所以,发送和接收邮件就主要是:
- 编写MUA发送邮件到MTA
- .编写MUA从MDA取回邮件
发邮件时,MUA和MTA使用的协议就是SMTP:Simple Mail Transfer Protocol,后面的MTA到另一个MTA也是用SMTP协议。
收邮件时,MUA和MDA使用的协议有两种:POP:Post Office Protocol,目前版本是3,俗称POP3;IMAP:Internet Message Access Protocol,还可以直接操作MDA上存储的邮件,比如从收件箱移到垃圾箱,等等。
邮件客户端软件在发邮件时,会让你先配置SMTP服务器,也就是你要发到哪个MTA上。假设你正在使用163的邮箱,你就不能直接发到腾讯的MTA上,因为它只服务腾讯的用户,所以,你得填163提供的SMTP服务器地址:smtp.163.com,为了证明你是163的用户,SMTP服务器还要求你填写邮箱地址和邮箱口令,这样,MUA才能正常地把Email通过SMTP协议发送到MTA。
还需要注意一下,为了顺利使用,我们需要手动打开SMTP发信和POP收信的功能。
常见的邮箱服务器地址大全:
阿里云邮箱(mail.aliyun.com):
POP3服务器地址:pop3.aliyun.com(SSL加密端口:995;非加密端口:110)
SMTP服务器地址:smtp.aliyun.com(SSL加密端口:465;非加密端口:25)
IMAP服务器地址:imap.aliyun.com(SSL加密端口:993;非加密端口:143)
谷歌邮箱(google.com):
POP3服务器地址:pop.gmail.com(SSL启用端口:995)
SMTP服务器地址:smtp.gmail.com(SSL启用端口:587)
新浪邮箱(sina.com):
POP3服务器地址:pop3.sina.com.cn(端口:110)
SMTP服务器地址:smtp.sina.com.cn(端口:25)
Tom邮箱(top.com):
POP3服务器地址:pop.tom.com(端口:110)
SMTP服务器地址:smtp.tom.com(端口:25)
网易邮箱(163.com):
POP3服务器地址:pop.163.com(端口:110)
SMTP服务器地址:smtp.163.com(端口:25)
126邮箱:
POP3服务器地址:pop.live.com(端口:995)
SMTP服务器地址:smtp.126.com(端口:25)
雅虎邮箱(yahoo.com):
POP3服务器地址:pop.mail.yahoo.com
SMTP服务器地址:smtp.mail.yahoo.com
雅虎中国(yahoo.com.cn):
POP3服务器地址:pop.mail.yahoo.com.cn(端口:995)
SMTP服务器地址:smtp.mail.yahoo.com.cn(端口:587)
雅虎邮箱POP3的SSL不启用端口为110,POP3的SSL启用端口995;SMTP的SSL不启用端口为25,SMTP的SSL启用端口为465。
Foxmail邮箱(foxmail.com):
POP3服务器地址:POP.foxmail.com(端口:110)
SMTP服务器地址:SMTP.foxmail.com(端口:25)
QQ邮箱(mail.qq.com)
POP3服务器地址:pop.qq.com(端口:110)
SMTP服务器地址:smtp.qq.com(端口:25)
SMTP服务器需要身份验证。
搜狐邮箱(sohu.com):
POP3服务器地址:pop3.sohu.com(端口:110)
SMTP服务器地址:smtp.sohu.com(端口:25)
HotMail邮箱(hotmail.com):
POP3服务器地址:pop.live.com(端口:995)
SMTP服务器地址:smtp.live.com(端口:587
移动139邮箱:
POP3服务器地址:POP.139.com(端口:110)
SMTP服务器地址:SMTP.139.com(端口:25)
中华网邮箱(china.com):
POP3服务器地址:pop.china.com(端口:110)
SMTP服务器地址:smtp.china.com(端口:25)