`
苏叶晚晚
  • 浏览: 16199 次
  • 性别: Icon_minigender_2
  • 来自: 湖北
最近访客 更多访客>>
社区版块
存档分类
最新评论

通过SMTP发送邮件;通过POP3接收邮件

阅读更多
     刚进了一家做邮箱的公司,目前在培训阶段,这是我的一个学习任务。开始做的时候按照培训文档做,还是不够清晰,走了一些弯路。现在把各种细节记录下来,算是温故而知新,也给有需要的同伴一个参考。

SMTP发送邮件
  1. 连接163的smtp服务器,地址:smtp.163.com 端口号:25
  2. 引用
    telnet smtp.163.com 25

        会得到如下反馈 220 163.com Anti-spam GT for Coremail System (163com[20111010])
  3. 输入HELO 命令,与服务器握手(注意不是HELLO,而是HELO;HELO后面的随便写)
  4. 引用
    HELO localhost

        对方的MTA(Mail Transfer Agent)服务器返回如下信息 250 ok
    引用
    留意前面的250, 在SMTP协议中, 如果返回信息的第一个数字是200-299的,表示处理成功(不同的数字有不同意思,这个可以自行查看协议)返回的数字是400-499的,表示处理临时失败(就是说稍后可以再次尝试发信)。返回的数字是500-599的,表示拒绝接收(就是说就算以后怎么尝试,都不会接收的了)
  5. 进行权限验证 AUTH LOGIN
  6. 引用
    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
  7. MAIL FROM: <test@163.com> 
  8. 引用
    这里通过”MAIL FROM:”命令告诉MTA服务器发信人是test@163.com

        对方服务器会返回 250 Mail OK。这里的发信邮箱必须和权限验证时的邮箱地址相同。
  9. RCPT TO: <123@qq.com>
  10.     这里是收件人的地址,如果有多个收件人,就写多条RCPT TO语句。对方服务器会返回 250 Mail OK
  11. 接下来通过DATA命令告诉对方服务器,我要准备发送邮件内容了。
  12. 引用
    DATA

        对方服务器会返回 354 End data with <CR><LF>.<CR><LF>
  13. 发送邮件正文
  14. 引用

    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,意味着邮件发送成功啦!
  15. 输入quit退出

更清晰的图文讲解如下

    这是我第一次发技术博文,很细心的写了一两个小时,希望能给大家带来一点帮助。
  • 大小: 68.8 KB
分享到:
评论

相关推荐

    vc++ 邮件收发程序 smtp pop3

    首先感谢mc,是他的程序给了我灵感,和初学的... mc的程序,不能发送邮件,在此我修改了错误,可以正常的发送邮件。 界面也从新整合个人认为更符合操作习惯 并增加了接受功能,只是该部分还没有完全实现,

    计算机网络邮件收发 SMTP和POP3实现

    接收邮件则需要使用POP3协议,通过连接到邮件服务器,获取邮件列表,下载邮件内容到本地。 【设计流程】 设计邮件客户端程序时,首先要进行需求分析,明确邮件收发的核心功能,如SMTP的邮件发送和POP3的邮件接收。...

    使用Socket结合SMTP/POP3邮件协议发送和接收邮件

    4. **POP3接收邮件**:在POP3中,客户端首先会发送一个CAPA命令来查询服务器支持的特性,然后使用USER和PASS命令进行身份验证。接着,可以使用LIST命令查看邮件数量和大小, RETR命令下载邮件,或者DELE命令标记邮件...

    c++支持邮件基于SMTP的发送和POP3的接收

    - **掌握命令行方式下的邮件发送与接收**:即如何通过命令行使用SMTP发送邮件和使用POP3接收邮件。 - **学习base64加密算法**:这对于理解和实现SMTP协议至关重要。 #### 实验原理详解 ##### 电子邮件的发送与接收...

    一个完整的SMTP/POP3邮件发送和接收的VC++的软件代码

    在VC++中,通常会创建一个SMTP客户端类,该类负责建立与SMTP服务器的连接,验证身份(如用户名和密码),并发送邮件数据。 POP3协议则用于从邮件服务器下载邮件,主要用于收件人端。当用户想要查看他们的邮件时,...

    smtp发邮件和pop3收邮件功能

    SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是电子邮件系统中的两个核心协议,分别用于发送和接收邮件。理解这两个协议的工作原理是掌握电子邮件技术的基础。 SMTP,简单邮件...

    SMTP及pop3客户端程序代码

    在实际应用中,SMTP和POP3通常一起使用,由SMTP发送邮件,POP3接收邮件。例如,当你在电子邮件客户端(如Outlook或Thunderbird)中撰写并发送邮件时,SMTP负责将邮件传送到对方的邮件服务器;当对方想要查看邮件时,...

    邮件协议pop3-smtp语言格式详解

    1. **SMTP发送**:用户使用SMTP客户端创建邮件,邮件通过SMTP服务器发送,经过Internet到达目的地SMTP服务器。 2. **SMTP接收**:目标SMTP服务器确认接收邮件,并将其存储在收件人的邮箱中。 3. **POP3检索**:收件...

    SMTP和POP3

    SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是互联网上电子邮件系统中的两个...通过SMTP进行身份验证和控制操作,通过POP3接收和验证邮件,构成了现代电子邮件服务的基础框架。

    自已根据SMTP/POP3协议封装的邮件发送组件

    SMTP主要用于将邮件从发件人的邮件服务器发送到收件人的邮件服务器,而POP3则用于接收邮件,允许用户从邮件服务器下载邮件到本地设备。 在描述中提到的"自已根据SMTP/POP3协议封装的邮件发送组件",意味着这是一个...

    C# 发邮件和POP3邮件接收程序

    SMTP是用于发送电子邮件的标准协议,而POP3则用于从邮件服务器接收邮件。C#提供了System.Net.Mail命名空间,其中包含SmtpClient和MailMessage类,使得开发者可以轻松地构建邮件发送功能。 首先,让我们来看看如何...

    C# 实现简单邮件SMTP和POP3客户端 联系人管理

    接下来,我们讨论POP3(Post Office Protocol version 3),它是用于从邮件服务器接收邮件的协议。在C#中,可以使用System.Net.Mail命名空间的Pop3类来实现POP3服务。通过建立连接,登录到POP3服务器,然后遍历并...

    用Telnet命令收发邮件(SMTP和POP3协议)实验报告.docx

    通过本实验,我们可以学习到使用Telnet命令收发邮件的基本步骤,包括使用SMTP协议发送邮件和使用POP3协议收邮件。实验中,我们使用了各种命令,例如helo、auth login、mail from、rcpt to、data和quit命令,来实现...

    电子邮件收发原理和实现(POP3, SMTP) [整理]

    通常,这包括创建`Session`对象配置SMTP服务器信息,然后使用`MimeMessage`对象构建邮件内容,最后通过`Transport`类发送邮件。 `Pop3Test.java`则是测试POP3邮件接收功能的代码。同样,`javaMail`库也可以用于处理...

    smtp_pop3.rar_SMTP/POP3_java pop3_java smtp_java socket pop3de_s

    POP3主要用于接收邮件,它允许用户从邮件服务器下载邮件。在Java中,我们同样可以使用`java.mail`库,具体来说是`javax.mail.Store`和`javax.mail.Folder`类。首先,创建`Store`对象并连接到POP3服务器,然后打开`...

    基于smtp 和pop3协议的邮件转发器

    SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是互联网上用于发送和接收电子邮件的两种主要协议。了解这两种协议的工作原理对于构建一个基于SMTP和POP3的邮件转发器至关重要。 ...

    SMTP和POP3的邮件客户端

    SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是电子邮件系统中的两个核心协议,它们分别处理电子邮件的发送和接收。 SMTP是一种基于TCP/IP的应用层协议,主要用于在互联网上...

    通过Pop3接收邮件

    以下是对"通过Pop3接收邮件"这一主题的详细解释: 一、POP3协议简介 POP3是Internet标准的邮件传输协议之一,它主要用于处理从邮件服务器到用户终端的邮件下载。在SMTP(Simple Mail Transfer Protocol)协议负责将...

    pop3.rar_libnids smtp_libnids pop3_pop3_pop3 协议_pop3 邮件

    POP3(Post Office Protocol version 3)是一种广泛用于接收电子邮件的互联网标准协议。它允许用户从邮件服务器上下载新邮件,通常使用客户端软件如Outlook、Thunderbird等进行操作。在给定的“pop3.rar”压缩包中,...

Global site tag (gtag.js) - Google Analytics