python电子邮件_Python 电子邮件
从一台计算机编写邮件到对方收到邮件。假设我们自己的电子邮件地址是me@163.com,对方的电子邮件地址是friend@sina.com
我们在本地的软件上写好邮件,点击发送,邮件就发送出去了,这些电子邮件被称为MUA(mail user agent)邮件用户代理
邮件从本地被发送出去后,并不会被直接送到用户的电脑上,而是被发送到MTA:Mail Transfer Agent 浏览器传输代理,就是那些Email服务提供商,比如网易、新浪等等,由于我们自己的电子邮件是163.com,所以邮件回被最先送到网易提供的MTA,再由网易的MTA发送到对方的MTA,即新浪的MTA,这中间可能还会经过其他服务商的MTA
当邮件被送到对方邮箱的服务提供商的MTA,因此新浪的MTA会把邮件投递到邮件的最终目的地:MDA :Mail Delivery Agent 邮件投递代理。Email到达MDA后,就静静地躺在新浪的某个服务器上,存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为电子邮箱。
Email不会直接到达对方的电脑,因为对方电脑不一定开机,开机也不一定联网。对方要取到邮件,必须通过MUA从MDA上把邮件取到自己的电脑上。
所以,一封电子邮件的旅程就是:
发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA
所以要编写程序来发送和接受邮件,最基本的两件事
编写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,目前版本是4,优点是不但能取邮件,还可以直接操作MDA上存储的邮件,比如从收件箱移到垃圾箱,等等。
邮件客户端软件在发邮件时,会让你先配置SMTP服务器,也就是你要发到哪个MTA上。假设你正在使用163的邮箱,你就不能直接发到新浪的MTA上,因为它只服务新浪的用户,所以,你得填163提供的SMTP服务器地址:smtp.163.com,为了证明你是163的用户,SMTP服务器还要求你填写邮箱地址和邮箱口令,这样,MUA才能正常地把Email通过SMTP协议发送到MTA。
类似的,从MDA收邮件时,MDA服务器也要求验证你的邮箱口令,确保不会有人冒充你收取你的邮件,所以,Outlook之类的邮件客户端会要求你填写POP3或IMAP服务器地址、邮箱地址和口令,这样,MUA才能顺利地通过POP或IMAP协议从MDA取到邮件。
最后特别注意,目前大多数邮件服务商都需要手动打开SMTP发信和POP收信的功能,否则只允许在网页登录。否则我们就不能在自己的程序上登陆
来源:https://www.icode9.com/content-1-487901.html
python电子邮件_Python 电子邮件相关推荐
- 自学Python 64 使用Python语言收发电子邮件
Python 使用Python语言收发电子邮件 文章目录 Python 使用Python语言收发电子邮件 一.开发POP3邮件程序 1.类 2.方法 二.开发SMTP邮件程序 自从互联网诞生那一刻 ...
- smtplib python教程_Python smtplib 教程
Python smtplib 教程展示了如何使用 smtplib 模块在 Python 中发送电子邮件. 要发送电子邮件,我们使用 Python 开发服务器,Mailtrap 在线服务和共享的网络托管 ...
- python画代码-Python教程_Python画Mandelbrot集 代码
Python教程_Python画Mandelbrot集 代码 作者:Comet 来源: 课课家 www.kokojia.com点击数:278发布时间:2015-06-19 11:17:19 曼德勃罗集 ...
- c语言实现爬虫功能,用C/C 扩展Python语言_python 调用c语言 python实现简单爬虫功能_python实现简单爬虫...
用C/C 扩展Python语言 Python是一门功能强大的脚本语言,它的强大不仅表现在功能上,还表现在其扩展性上.她提供大量的API以方便程序员利用C/C++对Python进行扩展.因为执行速度慢几 ...
- python编程语言_python编程语言的简要历史
python编程语言 The Python programming language is a general-purpose programming language that has carved ...
- 2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?
2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?编程界的王者是渐落寞的Java还是大火的Python? 是不是你们也喜 ...
- python中带附件发送电子邮件_python发送带附件邮件
Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. py ...
- smtplib python教程_Python使用poplib模块和smtplib模块收发电子邮件的教程
poplib模块接收邮件python的poplib模块是用来从pop3收取邮件的,也可以说它是处理邮件的第一步. POP3协议并不复杂,它也是采用的一问一答式的方式,你向服务器发送一个命令,服务器必然 ...
- python使用正则验证电子邮件_Python使用数学形态学腐蚀运算删除验证码图片中的干扰噪点和线条...
近期会议:10月30-11月1日 全国高校Python课程高级研修班(苏州) 好消息:"Python小屋"编程比赛正式开始 推荐图书:<Python可以这样学>,ISB ...
最新文章
- hpacucli查看HP服务器硬盘状态
- 部分网站公开数据的汇总(2)
- mysql5.7.19设置_MySQL5.7.19安装配置
- JDBC连接池JDBCTemplate课堂笔记
- java动态菜单显示实现,java – 为Spring MVC / AOP应用程序实现动态菜单
- 当代大学查寝奇葩操作大赏 | 今日最佳
- 基于springcloud的开发者实践:hystrix-dashboard熔断仪表盘
- 怎么将pom文件mysql驱动修改版本_JDBC-MySql基础操作详解
- 找回VisualStudio异常设置中丢失的“用户未处理的(User-unhandled)”列
- Perl 连接Oracle 出现OCI missing的问题及解决
- 美国女童子军正在学习电脑黑客技术!
- 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django
- Xeogl 基于 WebGL 的 3D 引擎
- 190728每日一句 不经一番寒彻骨 怎得梅花扑鼻香,一个人怎样保持激情去奋斗?
- 友盟推送:测试模式推送完成,但却收不到推送信息
- Linux的oracle账户解锁,如何解锁Oracle数据库中账号
- MacBook安装虚拟机Parallels Desktop
- 做到这一点,帮你每年多赚10万!
- 安卓默认打开指定apk的无障碍权限
- 计算机系统平台复习提纲
热门文章
- ubuntu创建快捷方式和添加到收藏夹
- gradle linux中文乱码,Gradle 构建 Android 应用常见问题解决指南
- 总结XSS与CSRF两种跨站攻击
- 中职计算机学校名师工作室,用心耕耘——记浙江省中职名师工作室领衔人卜连英...
- 第十三届 蓝桥杯 单片机设计与开发项目 省赛
- sql where条件添加判断 case when... then..else..end,示例说明
- C++ Traits编程技法--从迭代器的设计看参数推导与类型推导
- 中考计算机加试及格多少分,中考总分多少 中考各科分数是多少
- Cytoskeleton Rho/Rac/Cdc42 激活剂 I
- 美发明家脑洞大开 预测十几年后电脑会产生感情