[活动] 【项目挑战】Offline Email Box贴子之一Email相关的RFC以及重点内容学习

[复制链接]
1419|2
 楼主| zhanzr21 发表于 2016-3-31 15:35 | 显示全部楼层 |阅读模式
AI, RF, Box, TE, TI
要在开发板子上收发邮件,先得学习一下邮件收发理论知识学习过程

邮件相关的知识非常多,RFC就有一大堆

但是一定要抓住重点. 我现在是应用开发,不是理论研究者.

参考网络上一篇相关**,相关的RFC至少有这么多:

  1. RFC 821 - Simple Mail Transfer Protocol 简单邮件传输协议(SMTP)
  2. RFC 822 - Standard For The Format Of ARPA Internet Text Messages ARPA 互联网文本信息格式(信头格式) Obsoleted by RFC 2822
  3. RFC 974 - Mail Routing And The Domain System 邮件路由和域系统(MX路由)
  4. RFC 976 - UUCP Mail Interchange Format Standard UUCP邮件交换格式  
  5. RFC 1123 - Requirements for Internet Hosts -- Application and Support 互联网主机需求
  6. RFC 1321 - The MD5 Message-Digest Algorithm
  7. RFC 1344 - MIME对互联网邮件网关的意义
  8. RFC 1413 - 鉴别协议(ident)
  9. RFC 1652 - SMTP Service Extension for 8bit-MIMEtransport 8比特-MIME-SMTP服务扩展
  10. RFC 1842 - ASCII Printable Characters-Based Chinese Character Encoding
  11. RFC 1869 - SMTP Service Extensions SMTP服务扩展(ESMTP规格)
  12. RFC 1870 - 信息大小通报的SMTP服务扩展
  13. RFC 1891 - 发送状态通知的SMTP服务扩展
  14. RFC 1892 - The Multipart/Report Content Type for the Reporting of Mail System 用于报告邮件系统管理信息的多部分/报告内容类型
  15. RFC 1893 - Enhanced Mail System Status Codes 增强型邮件系统状态码。
  16. RFC 1894 - An Extensible Message Format for Delivery Status Notifications 发送状态通知的可扩展信息格式
  17. RFC 1939 - Post Office Protocol - Version 3 邮件协议-版本3(POP3) Updated by RFC 2449
  18. RFC 1957 - Some Observations on Implementations of the Post Office Protocol (POP3)
  19. RFC 1985 - 远程信息列队启动SMTP服务扩展
  20. RFC 2033 - 本地邮件传输协议(LMTP)
  21. RFC 2034 - smtp的增强错误码
  22. RFC 2045 - MIME Part One: Format of Internet Message Bodies 多用途互联网邮件扩展(MIME)第一部分:互联网信息正文格式 Updated by RFC 2231
  23. RFC 2046 - MIME Part Two: Media Types     MIME 第二部分:媒介类型
  24. RFC 2047 - MIME Part Three: Message Header Extensions for Non-ASCII Text MIME 第三部分:非ASCII文本信息头扩展 Updated by RFC 2231
  25. RFC 2048 - MIME 第四部分:注册过程
  26. RFC 2049 - 一致性标准和示例
  27. RFC 2060 - 互联网信息访问协议-版本4修订本(IMAPrev1)
  28. RFC 2066 - IMAP4 ACL 扩展
  29. RFC 2067 - IMAP4 配置扩展
  30. RFC 2068 - IMAP4 非同步字(LITERAL+)
  31. RFC 2095 - IMAP/POP简单挑战/回应认证扩展(CRAM+MD5)
  32. RFC 2183 - The Content-Disposition Header Field     Updated by RFC 2231
  33. RFC 2195 - IMAP/POP AUTHorize Extension for Simple Challenge/Response
  34. RFC 2197 - SMTP Service Extension for Command Pipelining
  35. RFC 2202 - Test Cases for HMAC-MD5 and HMAC-SHA-1
  36. RFC 2111 - Content-ID and Message-ID Uniform Resource Locators     
  37. RFC 2222 - Simple Authentication and Security Layer (SASL) 简单认证和安全层(SASL)
  38. RFC 2231 - MIME Parameter Value and Encoded Word Extensions: Character Sets,...
  39. RFC 2246 - TLS POP
  40. RFC 2251 - 轻量目录访问协议(LDAP)版本3
  41. RFC 2342 - IMAP4 命名空间
  42. RFC 2359 - IMAP4 UIDPLUS扩展
  43. RFC 2387 - The MIME Multipart/Related Content-type
  44. RFC 2449 - POP3 Extension Mechanism  POP3扩展机制
  45. RFC 2476 - 信息提交代理(MSA)
  46. RFC 2487 - TLS上安全SMTP的SMTP服务扩展
  47. RFC 2505 - SMTP MTAs垃圾信息建议
  48. RFC 2553 - 用于IPv6的基本套接口扩展
  49. RFC 2554 - SMTP Service Extension for Authentication
  50. RFC 2632 - S/MIME Version 3 Certificate Handling     
  51. RFC 2633 - S/MIME Version 3 Message Specification
  52. RFC 2821 - Simple Mail Transfer Protocol         
  53. RFC 2822 - Internet Message Format     
  54. RFC 2831 - Using Digest Authentication as a SASL Mechanism
  55. RFC 3462 - The MIME Multipart/Report Content-type
  56. RFC 3463 -  Enhanced Mail System Status Codes
  57. RFC 4406 - Sender ID: Authenticating E-Mail
  58. RFC 4408 - Sender Policy Framework (SPF) for Authorizing Use of
  59. RFC 4408 - Domain-Based Email Authentication Using Public Keys Advertised in the DNS (DomainKeys)
  60. RFC 4871 - DomainKeys Identified Mail (DKIM) Signatures   
  61. RFC 5617 - DKIM Author Domain Signing Practices (ADSP)


其中有很多RFC互相覆盖的,也有些是互相替换的。我重点研究了IMAPv4, SMTP, Email MIME Format 这么几个. 确定使用smtp发邮件, imap来收邮件。至于mime解码编码我决定自己来写个简单的处理层面. 如果是桌面编程可以使用gmime这个库,不过在官方的imx6ul的镜像中没有gmime支持,试着交叉编译了一下,很多依赖无法解决,主要是utf方面的,故而放弃了gmime.

为了做试验, 我也申请了一个outlook的账号. outlook邮件的imap, smtp设置如下:
  1. Incoming mail server:         imap-mail.outlook.com
  2. Outgoing mail server:         smtp-mail.outlook.com

outlook也支持pop3协议,因为有了imap, 我就不支持pop3了。pop3因为先天性的缺陷,正在被imap等协议淘汰的路上。

下一篇帖子讲述如何使用python脚本验证开发板上邮件的收发流程。
 楼主| zhanzr21 发表于 2016-4-27 23:18 | 显示全部楼层
消除零回復
lansebuluo 发表于 2016-4-29 13:06 | 显示全部楼层
看起来很复杂
您需要登录后才可以回帖 登录 | 注册

本版积分规则

91

主题

1017

帖子

34

粉丝
快速回复 在线客服 返回列表 返回顶部