javamail学习之Transport

来源:互联网 发布:人设插画知乎 编辑:程序博客网 时间:2024/04/29 09:38
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("test0@test.com");
        InternetAddress addr1 
= new InternetAddress("test1@test.com");
        InternetAddress addr2 
= new InternetAddress("test2@test.com");
        InternetAddress addr3 
= new InternetAddress("test3@test.com");
            .......................
        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里面设定了发送,抄送,暗送地址,但实际上,只有暗送的地址接受到了邮件。

原创粉丝点击