javamail学习之Transport

Transport类的功能是发送邮件。
Transport类下面只有3个比较重要的方法
public   static   void  send(Message message)
public   static   void  send(Message message, Address aaddress[])
public   void  sendMessage(Message message, Address aaddress[])

Transport只有一点容易让人迷糊的就是,本来可以通过Message类来设置To,Cc,Bcc的邮件地址,为什么这儿还有传地址数组呢?

原来,Message类的设置的To,Cc,Bcc邮件地址,并不一定就是真的要发送的地址,后面指定的地址才是。
比如下面程序

        InternetAddress addr0  =   new  InternetAddress( " [email protected] " );
        InternetAddress addr1 
=   new  InternetAddress( " [email protected] " );
        InternetAddress addr2 
=   new  InternetAddress( " [email protected] " );
        InternetAddress addr3 
=   new  InternetAddress( " [email protected] " );
            .......................
        msg.setRecipient(RecipientType.TO, addr1);
        msg.setRecipient(RecipientType.CC, addr2);
        msg.setRecipient(RecipientType.BCC, addr3);
        msg.setFrom(addr0);
        msg.setSubject(
" hello " );
        msg.setSentDate(
new  Date());
        msg.setText(
" hello,world! " );
        msg.saveChanges();
        ..............................
           Transport tran 
=  session.getTransport( " smtp " );
       .................................
       tran.sendMessage(msg, msg.getRecipients(RecipientType.BCC));
 
虽然Message里面设定了发送,抄送,暗送地址,但实际上,只有暗送的地址接受到了邮件。

你可能感兴趣的:(javamail学习之Transport)