菜单
  

    SMTP是工作在两种情况下:一是电子邮件从客户机传输到服务器:二是从某一个服务器传输到另一个服务器。SMTP也是个请求/响应协议,命令和响应都是基于ASCⅡ文本,并以CR和LF符结束。响应包括一个表示返回状态的三位数字代码。SMTP使用TCP协议25号端口监听连续请求。
    连接和发送过程如下:[12]
    (1)建立TCP 连接。
    (2)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;服务器端正希望以OK作为响应,表明准备接收。
    (3)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;服务器端则表示是否愿意为收件人接收邮件。
    (4)协商结束,发送邮件,用命令DATA发送。
    (5)以“.”号表示结束输入内容一起发送出去,结束此次发送,用QUIT命令退出。
    2 .2 JavaMail API简介
    JavaMail API是一种可选的、能用于读取、编写和发送电子消息的包(标准扩展)。您可使用这种包创建邮件用户代理(Mail User Agent ,MUA) 类型的程序,它类似于Eudora、Pine及Microsoft Outlook这些邮件程序。其主要目的不是像发送邮件或其他邮件传输代理(Mail Transfer Agent,MTA)类型的程序那样用于传输、发送和转发消息[13]。换句话说,用户可以与MUA类型的程序交互,以阅读和撰写电子邮件。MUA依靠MTA处理实际的发送任务。
    JavaMail API的设计是为收发信息提供与协议无关的访问。方式是把该API划分成两个部分:
    •API的第一个部分是是如何发送和接收独立于提供程序/协议的消息。
    •API的第二个部分则使用特定的协议语言,如:SMTP、POP、IMAP以及NNTP等等。如果要让JavaMail API与服务器通信,就需要为之提供这些协议。
    JavaMail API中提供了很多用于处理E-mail的类,其中比较常用的有Session(回话)类、Message(消息)类、Address(地址)类、Authenticator(认证方式)类、Transport(传输)类、Store(存储)类和Folder(文件夹)类等7个类。这7个类都可以在JavaMailAPI的核心包mail.jar中找到。
    发送、接收邮件的整个流程图如图2.1所示:
    图2.1  电子邮件工作流程图
    2.3  JavaMail体系结构
    要完成消息的交互,需要几方面的支持:邮件发送客户端程序、邮件接收客户端程序、邮件发送服务器和邮件接收服务器,此外,还需要相关的通信协议。
    邮件发送客户端程序和邮件接收客户端程序可以是相同的,例如经常使用的微软的Outlook既可以发送邮件,也可以接收邮件。
    邮件发送服务器和邮件接收服务器也可以是相同的服务器。在与邮件服务器交互的过程中,主要完成两个动作,把邮件发送到邮件服务器,以及从邮件服务器读取邮件。所以,主要使用两类协议,分别进行邮件的发送和接收。
    邮件从发送方到接收方的传递过程(参见图2.2)如下:[14]
    (1)邮件发送方通过邮件发送客户端把邮件发送到发送方的邮件服务器,在发送的过程中需要用到SMTP协议。
    (2)发送方的邮件服务器把邮件发送到接收方的邮件服务器,使用的协议也是SMTP。
    (3)邮件接收方从接收方邮件服务器接收邮件,使用POP3协议或者IMAP协议。

    图2.2 SMTP/POP3转发模型图

    2.4  JavaMail核心成员
    1.Session类
    Session 类定义了一个基本邮件会话,是Java Mail API最高层入口类。所有其它类都是经由这个session 才得以生效。Session 对象用 Java.util.Properties 对象获取信息,如邮件服务器、用户名、密码及整个应用程序享的其它信息。
    2.Message类
    当建立了Session对象后,Message类便可以被发送的构造信息体了。大多数情况下,我们使用javax.mail.internet.MimeMessage这个子类,MimeMessage 是个能理解 MIME 类型和头的电子邮件消息,该类是使用MIME类型、MIME信息头的邮箱信息。信息头只能使用US-ASCII字符,而非ASCII字符将通过编码转换为ASCII的方式使用。[15]
  1. 上一篇:基于互联网的远程控制协议设计与实现
  2. 下一篇:ActiveX漏洞挖掘技术研究+文献综述
  1. JAVA基于安卓平台的医疗护工管理系统设计

  2. java+mysql设备监控记录的大...

  3. java+mysql酒店管理系统设计与实现

  4. java+mysql二手房网站的设计与实现

  5. java+mysql家居团购网站的设计与实现

  6. JAVA+MYSQL《算法与数据结构...

  7. 基于MOOCs的《Java程学设计...

  8. 酸性水汽提装置总汽提塔设计+CAD图纸

  9. java+mysql车辆管理系统的设计+源代码

  10. 十二层带中心支撑钢结构...

  11. 杂拟谷盗体内共生菌沃尔...

  12. 大众媒体对公共政策制定的影响

  13. 电站锅炉暖风器设计任务书

  14. 河岸冲刷和泥沙淤积的监测国内外研究现状

  15. 当代大学生慈善意识研究+文献综述

  16. 乳业同业并购式全产业链...

  17. 中考体育项目与体育教学合理结合的研究

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回