刚进了一家做邮箱的公司,目前在培训阶段,这是我的一个学习任务。开始做的时候按照培训文档做,还是不够清晰,走了一些弯路。现在把各种细节记录下来,算是温故而知新,也给有需要的同伴一个参考。
SMTP发送邮件
- 连接163的smtp服务器,地址:smtp.163.com 端口号:25
引用
telnet smtp.163.com 25
会得到如下反馈 220 163.com Anti-spam GT for Coremail System (163com[20111010])
- 输入HELO 命令,与服务器握手(注意不是HELLO,而是HELO;HELO后面的随便写)
引用
HELO localhost
对方的MTA(Mail Transfer Agent)服务器返回如下信息 250 ok
引用
留意前面的250, 在SMTP协议中, 如果返回信息的第一个数字是200-299的,表示处理成功(不同的数字有不同意思,这个可以自行查看协议)返回的数字是400-499的,表示处理临时失败(就是说稍后可以再次尝试发信)。返回的数字是500-599的,表示拒绝接收(就是说就算以后怎么尝试,都不会接收的了)
- 进行权限验证 AUTH LOGIN
引用
auth login
会要求你输入用户名,回车后再输入密码。这里要特别注意的是,并不是直接输入用户名和密码。需要把用户名和密码进行base64转码后输入到这里。
我找到了一个比较简单的转码方法:
引用
perl -MMIME::Base64 -e 'print encode_base64("test@163.com");'
test@163.com转码后如下:dGVzdC5jb20=
当然,这句perl需要在命令提示符的环境中执行,就是前面需要有[test@alpaca ~]$ 之类的提示,所以最好在telnet smtp开始前执行,得到转码后的用户名和密码
权限验证正确,会返回提示 235 Authentication successful
- MAIL FROM: <test@163.com>
引用
这里通过”MAIL FROM:”命令告诉MTA服务器发信人是test@163.com
对方服务器会返回 250 Mail OK。这里的发信邮箱必须和权限验证时的邮箱地址相同。
- RCPT TO: <123@qq.com>
这里是收件人的地址,如果有多个收件人,就写多条RCPT TO语句。对方服务器会返回 250 Mail OK
- 接下来通过DATA命令告诉对方服务器,我要准备发送邮件内容了。
引用
DATA
对方服务器会返回 354 End data with <CR><LF>.<CR><LF>
- 发送邮件正文
引用
FROM:<sweety4572552@163.com>
TO:<358245183@qq.com>
SUBJECT:HELLOWORLD
This is the content.It must be an empty line above!
.
注意,空行的.意味着结束正文。邮件的结束标志是“回车+.+回车”
此时对方服务器返回 250 Mail OK queued as smtp4,DtGowEA5QXPbtuJP54IgAg--.1147S2 1340258272,意味着邮件发送成功啦!
- 输入quit退出
更清晰的图文讲解如下:
这是我第一次发技术博文,很细心的写了一两个小时,希望能给大家带来一点帮助。
- 大小: 68.8 KB
分享到:
相关推荐
首先感谢mc,是他的程序给了我灵感,和初学的... mc的程序,不能发送邮件,在此我修改了错误,可以正常的发送邮件。 界面也从新整合个人认为更符合操作习惯 并增加了接受功能,只是该部分还没有完全实现,
接收邮件则需要使用POP3协议,通过连接到邮件服务器,获取邮件列表,下载邮件内容到本地。 【设计流程】 设计邮件客户端程序时,首先要进行需求分析,明确邮件收发的核心功能,如SMTP的邮件发送和POP3的邮件接收。...
4. **POP3接收邮件**:在POP3中,客户端首先会发送一个CAPA命令来查询服务器支持的特性,然后使用USER和PASS命令进行身份验证。接着,可以使用LIST命令查看邮件数量和大小, RETR命令下载邮件,或者DELE命令标记邮件...
- **掌握命令行方式下的邮件发送与接收**:即如何通过命令行使用SMTP发送邮件和使用POP3接收邮件。 - **学习base64加密算法**:这对于理解和实现SMTP协议至关重要。 #### 实验原理详解 ##### 电子邮件的发送与接收...
在VC++中,通常会创建一个SMTP客户端类,该类负责建立与SMTP服务器的连接,验证身份(如用户名和密码),并发送邮件数据。 POP3协议则用于从邮件服务器下载邮件,主要用于收件人端。当用户想要查看他们的邮件时,...
SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是电子邮件系统中的两个核心协议,分别用于发送和接收邮件。理解这两个协议的工作原理是掌握电子邮件技术的基础。 SMTP,简单邮件...
在实际应用中,SMTP和POP3通常一起使用,由SMTP发送邮件,POP3接收邮件。例如,当你在电子邮件客户端(如Outlook或Thunderbird)中撰写并发送邮件时,SMTP负责将邮件传送到对方的邮件服务器;当对方想要查看邮件时,...
1. **SMTP发送**:用户使用SMTP客户端创建邮件,邮件通过SMTP服务器发送,经过Internet到达目的地SMTP服务器。 2. **SMTP接收**:目标SMTP服务器确认接收邮件,并将其存储在收件人的邮箱中。 3. **POP3检索**:收件...
SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是互联网上电子邮件系统中的两个...通过SMTP进行身份验证和控制操作,通过POP3接收和验证邮件,构成了现代电子邮件服务的基础框架。
SMTP主要用于将邮件从发件人的邮件服务器发送到收件人的邮件服务器,而POP3则用于接收邮件,允许用户从邮件服务器下载邮件到本地设备。 在描述中提到的"自已根据SMTP/POP3协议封装的邮件发送组件",意味着这是一个...
SMTP是用于发送电子邮件的标准协议,而POP3则用于从邮件服务器接收邮件。C#提供了System.Net.Mail命名空间,其中包含SmtpClient和MailMessage类,使得开发者可以轻松地构建邮件发送功能。 首先,让我们来看看如何...
发送邮件的步骤包括建立SMTP连接、登录SMTP服务器、发送邮件以及关闭连接。以下是一个完整的发送邮件的示例代码: ```python import smtplib # 邮箱账号信息 from_addr = 'test_from_addr@qq.com' password = '...
接下来,我们讨论POP3(Post Office Protocol version 3),它是用于从邮件服务器接收邮件的协议。在C#中,可以使用System.Net.Mail命名空间的Pop3类来实现POP3服务。通过建立连接,登录到POP3服务器,然后遍历并...
通过本实验,我们可以学习到使用Telnet命令收发邮件的基本步骤,包括使用SMTP协议发送邮件和使用POP3协议收邮件。实验中,我们使用了各种命令,例如helo、auth login、mail from、rcpt to、data和quit命令,来实现...
通常,这包括创建`Session`对象配置SMTP服务器信息,然后使用`MimeMessage`对象构建邮件内容,最后通过`Transport`类发送邮件。 `Pop3Test.java`则是测试POP3邮件接收功能的代码。同样,`javaMail`库也可以用于处理...
总结来说,这个项目涉及了使用VC++构建一个能够通过SMTP发送邮件并使用POP3接收邮件的应用程序。开发者需要理解SMTP和POP3协议的工作原理,以及如何在VC++环境中实现这些协议。同时,MIME编码技术用于处理复杂的邮件...
POP3主要用于接收邮件,它允许用户从邮件服务器下载邮件。在Java中,我们同样可以使用`java.mail`库,具体来说是`javax.mail.Store`和`javax.mail.Folder`类。首先,创建`Store`对象并连接到POP3服务器,然后打开`...
SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是电子邮件系统中的两个核心协议,它们分别处理电子邮件的发送和接收。 SMTP是一种基于TCP/IP的应用层协议,主要用于在互联网上...
以下是对"通过Pop3接收邮件"这一主题的详细解释: 一、POP3协议简介 POP3是Internet标准的邮件传输协议之一,它主要用于处理从邮件服务器到用户终端的邮件下载。在SMTP(Simple Mail Transfer Protocol)协议负责将...
POP3(Post Office Protocol version 3)是一种广泛用于接收电子邮件的互联网标准协议。它允许用户从邮件服务器上下载新邮件,通常使用客户端软件如Outlook、Thunderbird等进行操作。在给定的“pop3.rar”压缩包中,...