前言
在几年以前,相信不少朋友都听说过,马云同志创办阿里巴巴的时候,还不会发邮件。也不知道在阿里巴巴上市之后,他学会收发邮件了没有!呵呵。我是曾经从内心里“瞧不起”过,至少认为在这一点上我比他强很多。后来我才发现,我未必懂得收发邮件。除了我,还有很多的码农也根本不懂得收发邮件,更不懂得Email里面的工作原理。借此,向大家介绍一下和Email相关的技术。
老实说,我在七八年前就有了自己的雅虎邮箱,一直断断续续有用过。直到后来参加工作后,由于经常需要邮件沟通,我才发现,原来电子邮件是这样用的。在我的习惯思维里,一直以为邮箱是必须在提供商的网站上才能登录,然后必须在对应的网页里收发、查看、删除邮件(比如我注册了雅虎邮箱,必须在雅虎网站去登录,然后才能进去操作)。后来有同事推荐了FoxMail,在配置过程中,我才知道了什么是SMTP/POP3协议,后来才发现,原来office中的Outlook,也是一款优秀的邮件客户端。或许有很多朋友和我一样,也是这么天真的认为的。聊点题外话,其实一般的大公司都非常注重“邮件”的,这包含你日常工作中的沟通,工作安排,工作记录等。每天及时收发邮件,也是一种良好的工作习惯。一般公司都有自己的企业邮箱和邮件客户端。当然,小公司好像不太提倡这个,面对面沟通就好了,一般的根本没有这个“工作习惯”。所以,很多人根本没去了解过。包括我们很多开发人员,IT人员,都还不太了解其流程及工作原理。
浅析电子邮件的原理
在配置Outlook或者foxMail来收发邮件时,肯定会遇到SMTP协议和POP3协议的配置选项。那这两个协议分别是啥意思呢?网上都有翻译,我不会复制粘贴了。
首先,我会介绍一些常识,然后结合通俗的例子,再结合图文的方式来讲讲电子邮局其中的流程及工作原理。随后,我将会用windows 命令行的方式,登录邮件服务器,用命令行的方式手工发送/接受一封电子邮件。相信这样子,你将会透彻的理解其中的工作原理。
电子邮件的一些基本常识:
1.邮件服务器
2.电子邮箱
3.邮件客户端软件
4.邮件传输协议
5.电子邮件的传输过程
首先要明白这些“是懂非懂”的概念,才能更好的理解。
在Internet上要想提供电子邮件的功能,必须要有专门的电子邮件服务器。国内比较有名的就是“四大门户”的邮箱,国外的包括Gmail、Yahoo等。这些都是面向公众的,而且大部分免费提供的。大多数的企业,也都具有自己的企业邮件服务器,提供内部使用,或者日常工作中对外使用。
电子邮件服务器的主要功能:
1)接受用户投递过来的邮件
2)将用户投递过来的邮件转发给目标邮件服务器
3)接受其他邮件服务器转发过来的点邮件,并存入到为其管理者所分配的空间中
4)为前来查收/读取邮件的用户提供服务(当然还包含删除。移动等等操作)
如图所示:
1.用户Dylan写好一封邮件,交给了Sina的邮件服务器。完成第一步操作,这使用的就是SMTP协议。用户提交,服务器接受,使用的都是SMTP协议。
2.Sina的邮件服务器收到Dylan的邮件后,根据地址信息,又转发给了QQ的邮件服务器,这两台邮件服务器的收发,使用的都是SMTP协议。
3.有人用QQ邮箱,发送了一封Email给Dylan。所以,QQ的邮件服务器,将邮件发送给Sina的邮件服务器。这两台服务器的收发,使用的都是SMTP协议。
4.第四部比较特殊。是用户Dylan先主动请求Sina的邮件服务器,要求取自己的邮件。服务器知道后,再将该用户Dylan所管理的存储空间中的邮件,返回出去给Dylan。请一定记住,是用户先请求,而不是服务器先响应。这个过程中使用的POP3协议。
网上有些人解释,说SMTP协议就是负责发邮件,POP3协议就是负责收邮件。其实这是不太正确的。多台邮件服务器之间通信,收/发其实都是使用的SMTP协议。
而用户必须主动请求邮件服务器,才能获取到属于用户自己的邮件信息。这个过程中,才使用的是POP3。
其实可以把Internet上的“电子邮件服务器”,当作是一种“电子邮局”,或者直接理解为现实生活中的邮局。
1)用户递交包裹给深圳的邮局,深圳的邮局接受到包裹,再把包裹转发给了武汉的邮局。这其实易经完成了一次邮寄过程,使用的都是SMTP协议。
2)而邮局通常不会主动送货给用户的,也不主动通知你(除了最近几年流行的EMS外)。所以,用户只能主动跑到邮局去,询问邮局的工作人员。
如果邮局的人发现有属于该用户的包裹,会将包裹交给该用户。这个过程就使用的是POP3协议。
请牢记,邮局不会像快递那样主动送货的,必须是用户主动去邮局询问并取包裹。所谓协议,其实可以理解为一种规范,一种特定的“通话语言”。
前面说了这么通俗的例子,相信你已经了解了大致的流程,更重要的是,明白了SMTP/POP3这两种协议。(当然,还有其他的协议,这里不做过多介绍)
友情提示:本文不打算讲解如何配置一台邮件服务器,因为这是网络管理员/系统管理员应该掌握的内容。市面上的邮件服务器软件繁多,在不同的服务器系统上也有多种实现。微软的Exchange Server , Apache James 这些都是比较流行的。
电子邮件的传输过程,详细信息如图:
图上已经标明得很清楚了,相信经过前面的介绍。大家都能够理解整个交互过程了。
下面,我讲用windows命令行的方式,来演示发送和接收/查看电子邮件
首先,登录我的sina邮箱,准备发送一封邮件到我的QQ邮箱里面去。
运行“cmd”,打开Commond控制台。(提醒大家一下,这不是DOS。我经常发现某些人把其称为DOS,觉得很可笑。还有些培训讲师说这是DOS,误人子弟)
使用telnet命令,输入 telnet smtp.sina.com 25 回车
注释:sina提供的SMTP服务器地址是 smtp.sina.com ,使用的端口号是SMTP协议默认端口号 25 (Gmail好像用的是465和587)
提示:部分用户使用的windows 7的操作系统,可能会提示telnet命令不可用。请在控制面板,”打开/关闭功能“中安装telnet客户端,具体不解释。如果有些朋友还没有用过telnet,那我也只能先吐血了。天朝程序员水平参差不齐,作为一个windows平台上的开发人员,大部分的连个基本的Dos命令都不会。
有图有真相,我在每行命令和输入里,都加了详细的注释:
发送完成后,开始准备接受并查看邮件了
同理,telnet 到POP3服务器去
telnet pop.qq.com 110 腾讯的POP3服务器地址是pop.qq.com 使用的端口号也是默认的 110 (报警啊!)
有图有真相:
好了,朋友们不妨试着用命令行的方式,去体验电子邮件的过程,这能够帮助你理解其中的原理。时间不早了,码奴也要准备休息了。
改天将会向大家详细讲解,在.NET平台中发送邮件的几种情况和实现方式(包括:群发的命中问题、垃圾箱的问题、乱码问题、html邮件、文本邮件、选.NET自带 Or 使用邮件群发组件? 等等)。
相关推荐
邮件客户端是用于收发电子邮件的应用软件,它可以连接到邮件服务器,处理SMTP(简单邮件传输协议)用于发送邮件,而IMAP(因特网消息访问协议)或POP3(邮局协议)则用于接收邮件。开源意味着该软件的源代码对公众...
通过以上步骤,可以成功地搭建起一个具备基本邮件过滤和操作功能的邮件服务器,并通过Javamail实现邮件的收发功能。这种方式不仅提供了高度的灵活性和定制性,而且由于其基于纯Java技术的特性,也方便了跨平台部署和...
**邮件收发**: - **收取邮件**:Python通过POP3协议来接收邮件。`email`模块的`poplib`子模块可以帮助我们实现这一功能。 - **发送邮件**:使用SMTP(Simple Mail Transfer Protocol)协议发送邮件。Python的`...
以及与商品操作相关的成员函数如`put`(入库)、`sell`(销售)、`search`(查询)、`all`(显示所有商品)、`jiesuan`(结算)和`cmd`(显示指令)。 2. **文件操作**: - 使用`fstream`库处理文件输入输出,如`...
完成上述步骤后,你的CentOS邮件服务器应该已经配置完毕,可以正常收发邮件了。但请注意,邮件服务器的安全性和反垃圾邮件策略也是十分重要的,你可能需要安装和配置Amavis、SpamAssassin等工具来提高邮件系统的安全...
批量电子邮件收发人提取工具。大数据工具。经数十万封电子邮件测试。在win10+vs2017下编译运行,已经编译好,下载解压后可用。 用法简单:将电子邮件放到一个文件夹中,选中,点开工,立等可取。每个邮件独立提取。...
3. **添加MX记录**:进入域名管理界面后,找到“MX记录”选项,输入邮件服务器的域名地址,这里要特别注意,按照协议规定,应填写域名而不是IP地址,因为IP地址可能会导致邮件收发问题。此外,确保邮件服务器有对应...
- **使用Outlook Express收发电子邮件**:Outlook Express是电子邮件客户端,用户需学会设置账户、撰写邮件、发送和接收邮件,以及管理邮件箱。 4. **能力拓展**: - 在每个项目结束时,通常会有项目小结,总结本...
... 问题分析 ...首先,咱们同时按下Win7旗舰版电脑键盘上的Win+R快捷键打开电脑的运行窗口,在打开的运行窗口中,咱们输入cmd并单击回车,这样就可以打开...这些步骤可以帮助用户快速解决问题,恢复正常的邮件收发功能。
- `MAIL_ADDR`: 邮件收发地址。 - `SMTP_INFO`: SMTP服务器的信息,包括主机名、用户名、密码等。 - `MD5SUM_FILE`: 存储MD5校验值的文件路径。 - `APACHE_LOG_PATH`: Apache日志文件路径。 #### 3. 服务状态检查...
3. **SMTP服务器**:支持电子邮件服务,可以发送邮件,配合POP3服务器可以实现邮件收发功能。 三、安全性强化 1. **进程模型**:IIS 6.0采用了W3WP.exe进程模型,每个站点或应用程序池在独立的进程中运行,有效防止...
在Windows系统中,用户可以通过Internet属性对话框的“程序”选项卡设置网络相关的功能,如编辑网页、收发邮件等。 电子邮件服务通常涉及SMTP(简单邮件传输协议)用于发送邮件,POP3协议或IMAP4协议用于接收邮件。...
- 爱莎网络监控器可以安装在局域网中的任意主机上,从而监控整个网络的状况,包括网页访问、QQ、MSN、FTP、邮件收发等活动,并进行流量统计和控制,帮助优化网络资源分配,解决网络速度慢的问题。 这些知识点涵盖...
打开命令提示符(按Win+R键输入`cmd`回车),输入`netstat -n`后回车,即可看到所有TCP/IP连接的信息。如果知道某个IP地址对应的是QQ聊天对象,则可以根据其连接状态判断是否为对方的IP地址。 - **查看TCP连接**...
| | |---EXAM9: C示例源程序,CH395 MAIL应用实例,演示使用CH395进行邮件收发 | | |---EXAM10: C示例源程序,CH395 FTP服务器应用实例、支持读写、删除、创建文件功能 | | |---EXAM11: C示例源程序,CH395 FTP ...
- 电子邮件的收发 - 网站搜索 - 资料下载 - 网上留言 - 网上聊天 - 网上公告 - 网上资料库管理 - 因特网网页制作特技 - 网站管理 **产品特色**: - 安装简便 - 稳定性强 - 经济实惠 - 兼容性强 - 操作简易 - 效率...
|--|----|----|----3 Python 收发邮件.mp4 |--|----|----|----4 微信控制电脑的实现.mp4 |--|----|----|----5 沙盘化的微信远控.mp4 |--|----|----3 Flask 快速搭建网站 |--|----|----|----1 课程介绍.mp4 |--|----|...
- **电子邮件收发**:在校园局域网内实现电子邮件的发送和接收。 - **资源下载**:在局域网内部署下载服务器,提供各种软件资源。 - **网站管理**:师生可以创建和维护自己的网站,实现资源共享和信息发布。 VIW...
在IT领域,了解哪些进程正在使用哪些端口至关重要,因为端口是计算机网络通信的基础,不同的服务和应用程序通常会绑定到特定的端口来收发数据。 描述中提到这是一个“批处理文件”,这意味着它是由一系列DOS命令...