JavaMail技术实现邮件转发

本文详细介绍了如何使用JavaMail技术实现邮件转发,包括Session对象的配置、Message对象的使用、Multipart和BodyPart操作、DataHandler处理附件、Flags设置邮件标记、Address地址管理、Authenticator授权、Transport发送邮件以及Store和Folder的使用。同时提供了代码示例,涵盖了从简单文本到复杂邮件的发送场景。
摘要由CSDN通过智能技术生成

JavaMail技术实现邮件转发

 

JavaMail中使用的类及对应方法

一、Session对象

Session(邮件会话)
     Session 对象利用Properties对象获得了邮件服务器,用户名,密码,信息,和整个应用程序都要用到的共享

创建配置文件
    properties prop = new Properties();

通过配置文件获取当前会话级别的session对象
    Session session = Session.getInstance(prop,null);
   或者获取当前的默认的配置文件下的session对象                       //第二个参数代表当前的授权对象
    Session session = Session.getDefaultInstancce(prop,null);

设置对应的配置文件的相关属性
    prop.setProperty();

    //  定义服务器地址(发送时使用本机地址)
    prop.setProperty("mail.host", "localhost");

    //  定义服务器协议
    prop.setProperty("mail.transport.protocol", "smtp");

    //  定义用户权限,是否需要认证
    prop.setProperty("mail.smtp.auth", "true"); 

开启session的debug模式
    session.setDebug(true);     //可以在后台看出发送的主机名,发送的地址,接收的地址,以及发送的端口号

二、Message对象

  建立Session对象后,就可以构造发送的Message抽象类(邮件对象),建议使用MimeMessage子类对象
该类使用的是MIME类型,MIME信息头的邮箱信息

Message类的三种构造方式:
    Message( );
    Message(Folder folder , int messageNumbers) ;  文件夹
    Message(Session) ;

消息的发送方一般存在于FROM:首部中,而消息的接收方却分为TO,CC , BCC三个字段
    Message.RecipientType.TO        接收
    Message.RecipientType.CC       抄送
    Message.RecipientType.BCC     密送

消息主题:
     //  邮件标题
     message.setSubject(String subject);

    //  获取对应邮件的主题
    String  getSubject( )

消息日期:
    //  设置消息发送的日期
    void   setSentDate(Date  date) ; 
    
    //  获取发送的时间
    Date   getSentDate( );
    
    //  获取消息接收的时间
    Date    getReceivedDate( ) ;

消息内容格式:
    message.setContent(文本,文本格式 ) ;

 

三、Multipart  和   BodyPart 和 MimeBodyPart

Message表示一个邮件,message.getContent( ) 返回的是一个Multipart对象,一个Mutipart对象包含一个或多个BodyPart对象
    来组成邮件的正文部分(包括附件)

Multipart:   (抽象类)
    Multipart是一个容器它转载多个bodyPart(正文,附件或内嵌资源)。Part的getContent( ) 方法,就返回一个Multipart对象
                MimeMultipart是Multipart的实现类,默认类别是mixed,其他类型为related,alternative

  ●   multipart有三种类型:
             multipart/mixed:附件  
             multipart/related:  内嵌资源   (在对应的HTML文件中嵌入了对应的图片)
             multipart/alternative:纯文本和超链接  (包含内嵌图片和复杂附件)

BodyPart:    (文本内容)
    BodyPart是一个邮件头对象(是一个抽象类)
    
    //创建BodyPart的实例
    ●BodyPart bodypart = new   MimeBodyPart( ) ;
    
      //添加文本内容
    void   addBodyPart(BodyPart part) ;  
   
     //添加具体索引对应的bodypart
    void addBodyPart(BodyPart part , int index)    

    //根据索引,获取BodyPart
    BodyPart  getBodyPart(int index );
    
    //移除的对应的BodyPart
    boolean   removeBodyPart(BodyPart   part);
    
    //获取BodyPart数量
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值