zoukankan      html  css  js  c++  java
  • JavaMail收发邮件的步骤

    一、  发邮件

    1) 获取Session

    i) 实行一个Authentication类的子类,实行里面的public PasswordAuthentication getPasswordAuthentication()方法

    ii) New一个上面类的实例,设置用户名和密码

    iii) New一个Properties对象,设置mail.smtp.host  and mail.smtp.auth属性

    iv) 同过Session的静态方法,获取一个Session实例

    2) 生成Message

    i) 没有附件的邮件

       第一步:new一个MimeMessage实例(根据Session)

       第二步:给Message实例设置subject、text属性

    ii) 有附件的邮件

       第一步:根据Session new一个MimeMessage实例(Message)

       第二步:设置Message subject属性

       第三步:new一个MimeBodyPart实例 和 Mulipart(MimeMulipart)实例

       第四步:给MimeBodyPart实例设置邮件文本内容

       第五步:将MimeBodyPart实例,添加到Mulipart实例

       第六步:根据附件数循环:

               New MimeBodyPart实例

               获取FileDatasource

               将FileDatasource设置到MimeBodyPart

               设置MimeBodyPart的文件名

               将MimeBodyPart添加到 Mulipart

       第七步:将Mulipart设置成MimeMessage的内容

    3) 发送邮件

    i) 设置Message的fromAddress,toAddress,ccAddress,bccAddress

    ii) Transport发送邮件    

    二、  收邮件

    1)new Properties实例,设置mail.pop3.host 的值

    2)获取Session实例

    3)根据Session,获取Store实例

    4)连接store

    5)获取Index文件夹

    6)打开文件夹

    7)获取文件夹里面所有Message

    8)用FetchProfile优化Message的查找

        FetchProfile profile = new FetchProfile();

        profile.add(FetchProfile.Item.ENVELOPE);

        profile.add(FetchProfile.Item.FLAGS);

        profile.add("X-Mailer");

        inbox.fetch(msg, profile);

    9)判断Message的MimeType类型如果是text/*类型,直接可以从Message从获取邮件from 地址、标题和内容,否则执行下面的步骤

    10)从Message中获取Multipart

    11)遍历Multipart中的BodyPart

    12)判断bodyPart的Disposition是否是Part.ATTACHMENT

    13)如果不是,直接获取bodyPart里面的content

    14)否则获取bodyPart的文件名和文件流(inputstream),将流写入本地文件,实现附件的下载

  • 相关阅读:
    网页中插入Flash动画(.swf)代码和常用参数设置
    关于UML中逻辑模型的工具的详细介绍
    简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera
    mysql sock找不到
    简述nginx日志管理切割日志(亲测可行)
    Linux下使用rm删除文件,并排除指定文件(亲测可行)
    常驻内存以及如何避免内存泄漏
    TASK异步进程处理场景
    TCP长连接数据传输(同步方式)
    在智联上投了一个月的简历,很多都有意向,但是却没有通知我去
  • 原文地址:https://www.cnblogs.com/xjqlove1989/p/3596442.html
Copyright © 2011-2022 走看看