当前位置: 首页 > news >正文

政务网站建设发言材料外贸在哪些网站做

政务网站建设发言材料,外贸在哪些网站做,网址我的上网主页,网站建设书籍免费基本介绍 POP3是一种用于从邮件服务器获取电子邮件的协议。它允许邮件客户端连接到邮件服务器#xff0c;检索服务器上存储的邮件#xff0c;并将邮件下载到客户端设备上。POP3的工作原理如下#xff1a; 连接和身份验证#xff1a; 邮件客户端通过TCP/IP连接到邮件服务器…基本介绍 POP3是一种用于从邮件服务器获取电子邮件的协议。它允许邮件客户端连接到邮件服务器检索服务器上存储的邮件并将邮件下载到客户端设备上。POP3的工作原理如下 连接和身份验证 邮件客户端通过TCP/IP连接到邮件服务器的POP3端口通常是110。客户端首先发送USER​命令提供用户名然后发送PASS​命令提供密码以进行身份验证。查看邮件状态 客户端可以使用STAT​命令来查看邮箱中的邮件状态包括邮件数量和总字节数。查看邮件列表 使用LIST​命令客户端可以查看每封邮件的索引号和大小。如果提供邮件索引号服务器将返回特定邮件的大小。检索邮件 使用RETR​命令客户端可以检索特定邮件的内容包括邮件头和正文。邮件被下载到客户端设备上。删除邮件 使用DELE​命令客户端可以标记要删除的邮件。邮件在标记为删除后不会立即从服务器上删除直到客户端执行QUIT​命令。退出 使用QUIT​命令客户端结束POP3会话并断开连接。在断开连接之前标记为删除的邮件将从服务器上删除。 相关概念 邮件收件箱Mailbox 邮件服务器上存储用户接收到的电子邮件的地方。每个用户都有一个邮箱其中包含他们的电子邮件。命令和响应 POP3协议使用一系列命令和响应进行通信。客户端发送命令例如USER​​PASS​​LIST​​等服务器返回响应例如OK​​表示成功-ERR​​表示错误。邮件索引号Message Number 每封邮件在邮箱中都有一个唯一的索引号。客户端可以使用索引号来指定要执行的操作如检索或删除邮件。邮件大小Message Size 邮件的大小以字节为单位。LIST​​命令返回每封邮件的大小以便客户端可以了解邮件的大小信息。标记为删除 客户端可以使用DELE​​命令将邮件标记为删除。标记为删除的邮件在QUIT​​命令之前不会从服务器上真正删除。邮件头和正文 邮件通常由邮件头和正文组成。邮件头包含元数据如发件人、主题和日期。邮件正文包含邮件的实际内容。MIMEMultipurpose Internet Mail Extensions MIME是一种电子邮件标准用于描述邮件内容的类型和格式包括文本、HTML、图像和附件等。连接池Connection Pool 一些POP3客户端使用连接池来管理与邮件服务器的连接以提高性能和效率。 POP3命令与响应 Transaction State 一旦客户机成功地向 POP3服务器标识了自己并且 POP3服务器已经锁定并打开了相应的邮件包, POP3会话现在处于 TRANSACTION 状态. 重复发出以下任何 POP3命令命令POP3服务器发出响应 发出 QUIT 命令POP3会话进入 UPDATE 状态。 STAT命令 ​STAT​查询邮箱中邮件的统计信息包括邮件数量和总字节数。 命令格式 STAT服务器应该响应一个包含两个值的响应邮件数量和邮箱中所有邮件的总字节数。响应的格式如下 OK 邮件数量 总字节数LIST命令 获取邮件服务器返回每封邮件的详细信息包括邮件的索引号和大小。 命令格式 LIST [message_number]message_number​ 是可选的参数用于指定要列出的特定邮件的索引号。如果省略了此参数则会列出所有邮件的信息。 服务器会以以下格式响应LIST​命令 如果未指定message_number​列出所有邮件 OK 邮件总数 messages (邮件总大小 octets) 邮件1的索引号 邮件1的大小 邮件2的索引号 邮件2的大小 ... 邮件n的索引号 邮件n的大小 .​OK​ 表示命令执行成功。​邮件总数​ 是邮箱中邮件的数量。​邮件总大小​ 是所有邮件的总大小以字节为单位。每行中的 邮件i的索引号​ 表示第i封邮件的索引号。每行中的 邮件i的大小​ 表示第i封邮件的大小以字节为单位。 如果指定了message_number​列出特定邮件 OK 邮件索引号 邮件大小​OK​ 表示命令执行成功。​邮件索引号​ 是指定邮件的索引号。​邮件大小​ 是指定邮件的大小以字节为单位。 RETR 检索特定邮件的内容其中邮件的索引号由客户端指定。RETR命令可用于下载邮件的正文和标头。 命令格式 RETR message_number服务器会以以下格式响应RETR​命令 如果命令执行成功 OK 邮件内容 .​OK​ 表示命令执行成功。​邮件内容​ 包含了邮件的完整内容包括邮件头和正文。通常邮件内容以文本格式返回。最后一行的.​句号表示邮件内容的结束。 如果命令执行失败邮件不存在或索引号无效 -ERR 错误消息​-ERR​ 表示命令执行失败。​错误消息​ 包含有关失败原因的描述。 DELE 标记特定邮件以删除它们但不会立即从服务器上删除它们。删除操作只有在客户端执行QUIT​命令时才会生效。 命令格式 DELE message_number**服务器响应: ** 如果命令执行成功邮件被成功标记为删除 OK Message message_number deleted​OK​ 表示命令执行成功。​message_number​ 是已标记为删除的邮件的索引号。 如果命令执行失败邮件不存在或索引号无效 -ERR 错误消息​-ERR​ 表示命令执行失败。 ​错误消息​ 包含有关失败原因的描述。 NOOP 它不执行任何实际的操作。它的主要目的是告诉邮件服务器客户端仍然活跃正在使用连接以防止连接因长时间不活动而被服务器关闭。 REST 重置或取消标记为删除的邮件以便这些邮件不会被删除。 RSET命令通常用于撤销之前使用DELE命令标记为删除的邮件。 命令格式 RSET命令响应 如果命令执行成功 OK​OK​ 表示命令执行成功。 如果命令执行失败通常是因为RSET​命令不支持或出现其他问题 -ERR 错误消息​-ERR​ 表示命令执行失败。​错误消息​ 包含有关失败原因的描述。 UPDATE State QUIT 告知邮件服务器客户端已经完成了邮件收取或管理任务并请求结束与服务器的连接。 Optional命令 TOP 检索邮件的头部信息和指定行数的邮件正文。 ​TOP​命令允许客户端请求邮件服务器返回特定邮件的头部信息和部分邮件正文以减少数据传输量和加快邮件检索速度。 命令格式 TOP message_number number_of_lines​message_number​ 是要检索的邮件的索引号。客户端必须提供一个有效的索引号以指示要检索的邮件。​number_of_lines​ 是要返回的邮件正文的行数。客户端可以指定要检索多少行邮件正文通常用于查看邮件的摘要信息。 响应: OK 邮件头部信息 邮件正文的前n行 .​OK​ 表示命令执行成功。​邮件头部信息​ 包含了邮件的头部信息如发件人、主题、日期等。​邮件正文的前n行​ 包含了指定行数的邮件正文。最后一行的.​句号表示邮件内容的结束。 UIDL 检索每封邮件的唯一标识符UID。每封邮件都分配了一个唯一的UID通常用于客户端在与服务器交互时标识邮件而不仅仅依赖于邮件的序号。 命令格式 UIDL [message_number]响应 OK message_number UID ​OK​ 表示命令执行成功。​message_number​ 是邮件的索引号。​UID​ 是邮件的唯一标识符UID。 USER ​USER​命令是POP3Post Office Protocol Version 3协议中的一条命令用于向邮件服务器提供登录用户名。USER​命令通常是POP3会话的第一步用于标识客户端要使用的邮箱账户。 PASS ​PASS​命令是POP3Post Office Protocol Version 3协议中的一条命令用于向邮件服务器提供登录密码以完成身份验证。一般情况下在使用USER​命令提供用户名后客户端必须使用PASS​命令提供相应的密码以便访问邮箱账户。 APOP ​APOP​Authenticated Post Office Protocol是POP3Post Office Protocol Version 3协议的一种认证机制。它是一种用于安全地认证邮件客户端与邮件服务器之间的身份的方法。与普通的POP3用户名和密码认证不同APOP​使用一种基于哈希函数的挑战-响应机制来认证客户端的身份。 以下是APOP​认证的工作原理 邮件服务器生成一个随机的挑战字符串通常是一个长字符串称为挑战值challenge。邮件服务器将挑战值与密码的哈希值进行拼接并计算拼接后的字符串的MD5哈希值。这个MD5哈希值称为响应值response。邮件服务器将挑战值发送给客户端。客户端收到挑战值后将自己的密码和挑战值拼接并计算拼接后的字符串的MD5哈希值得到自己的响应值。客户端将自己的用户名和响应值发送给邮件服务器。邮件服务器收到客户端的响应后会检查客户端的用户名是否存在并将客户端的响应值与邮件服务器计算的响应值进行比较。如果客户端的响应值与邮件服务器的响应值匹配服务器将认为客户端通过了认证允许客户端访问邮箱。 ​APOP​认证的优点是它通过使用挑战-响应机制使得在网络上传输的密码不会以明文形式传输从而提高了安全性。这种认证机制确保只有知道正确密码的客户端才能通过认证。 请注意APOP​认证是一种POP3协议的扩展认证机制因此并不是所有邮件服务器和邮件客户端都支持它。在使用APOP​认证之前确保您的邮件服务器和客户端都支持此认证方式。 Go语言解析POP3 解析头部 通过mail.ReadMessage来解析邮件内容 message, err : mail.ReadMessage(strings.NewReader(source)) if err ! nil {log.Error(err)return }通过解析出来message内部的Header结构可以获取指定key的信息 常见key有: From​、To​、Subject​、Date​、Content-Type​、Content-Transfer-Encoding​ from : message.Header.Get(From) to : message.Header.Get(To) subject : message.Header.Get(Subject) date : message.Header.Get(Date) message.Header.Get(Content-Type) message.Header.Get(Content-Transfer-Encoding)Header实际是个map, 所以可以通过for循环的方式遍历 for k, v : range message.Header {blog.Info(key: , k, value:, v) }解析body 通常body会带有多行, 并且最后带有.结束符, 所以我们需要将这些过滤掉 str : strings.ReplaceAll(string(body), \r\n, )str strings.ReplaceAll(str, ., )具体需要使用解析算法需要注根据Content-Transfer-Encoding来判断,比较常用的两种邮件编码方式为BASE64和Quoted-printable。后来的扩展 SMTP协议允许直接在邮件中传递二进制数据而不用对它们进行邮件编码人们将这种没有进行邮件编码的二进制数据的邮件内容称为8bit编码为了与此 相区别人们将没有进行邮件编码的纯ASCII码字符的邮件称为7bit编码。MIME消息体的邮件编码方式通过MIME消息头中的Content- Transfer- Encoding头字段指定每种邮件编码方式的介绍如下 7Bit: 指消息体内容全部是没有经过编码的ASCII字符。8Bit: 指消息体内容是没有经过编码的原始数据且其中包含有非ASCII字符的数据。现在的邮件服务器基本上都支持8Bit编码使用支持8Bit编码的邮件服务器可以简化邮件的处理过程。BASE64: Base64是将二进制数据转换成可打印的ASCII字符的一种最常见的编码方式它的基本原理是将一组连续的字节数据按6个bit位进行分组然后对每组数据用一个ASCII字符来表示。Quoted-printable: 一种将二进制数据转换成可打印的ASCII字符的编码方式它对ASCII字符不进行转换只对非ASCII字符的数据进行编码转 化。 指消息体内容全部是没有经过编码的ASCII字符。 使用base64解析示例: decodedBody, err : base64.StdEncoding.DecodeString(str)if err ! nil {log.Fatal(Error decoding Base64:, err)}log.Info(string(decodedBody)) 参考资料 inbucket smtp,pop3,restful服务 pop3协议分析 docker使用Inbucket搭建邮件服务器用于接受邮件 rfc1939 Multipurpose Internet Mail Extensions(RFC2045) ‍
http://www.pierceye.com/news/151914/

相关文章:

  • 高端的网站设计费用外贸营销型网站建设平台
  • 买源码做网站简单嘛贵阳百度seo点击软件
  • 省建设注册管理网站网站的维护和推广
  • wordpress 插件站wordpress本地mp3
  • 爱站工具包的主要功能很有设计感的企业网站
  • 地下城钓鱼网站如何做iis添加网站无法访问
  • 招聘网站大全网站开发liucheng
  • erlang做网站优势深圳集团网站建设公司好
  • 烟台公司建网站seo网站推广 沈阳
  • 没有网站做APP企业网站模板建站
  • 国内炫酷的网站首页网站开发交易平台
  • 大型网站建设公司制作网站好大夫在线免费咨询
  • 有哪些设计的很优秀的网站诸暨市住房建设局网站
  • 建设网站网站建站延吉手机网站建设开发
  • 网站建设一意见08wordpress主题
  • 做网站备案不少天网络设计包括哪些
  • 仿腾讯视频网站源码个人制作网站工具
  • 泉州网站制作建设163注册企业邮箱
  • 漳州市建设局网站6热e国产-网站正在建设中-手机版
  • 给公司做网站数据分析江门网站设计制作
  • 怎么做新网站安宁网站建设熊掌号
  • com是什么网站网络科技公司可以去吗
  • 抖音创作者服务平台上海seo培训中心
  • 自己做网站app甘肃网站域名申请公司
  • 电子商务网站开发的课程介绍2023年新闻摘抄
  • 合肥如何做百度的网站推广百度知道官网首页登录入口
  • 织梦网站怎么做二级域名广州做网站费用
  • 湖南的商城网站建设网站建设与管理专业就业
  • 诸城企业网站建设wordpress经典编辑器插件
  • 做视频播放网站 赚钱全国建筑网站