javamail可能和你的发信服务器相关的。一次群发的总数有限。你可以多发几次,每次发几封就可以了。留个邮箱。我发点代码给你玩玩。

解决方案 »

  1.   

    http://web.aofa.cn/cool/myEmail.rar
    这是我写的一些关于javamail的程序。没注意是不是可以群发。你试着用“,”或“;”把收件人地址一一地隔开,应该就可以群发了。
      

  2.   

    http://web.aofa.cn/cool/myEmail.rar
    这是我写的一些关于javamail的程序。没注意是不是可以群发。你试着用“,”把收件人地址一一地隔开,应该就可以群发了。
    ============================================= 我上面发的那个压缩包里有些类写得不是很完善。那个图形界面的frame还有问题。在发HTML邮件时不好,易出问题。
    126邮箱用户支持教好,其它的邮箱没仔细测试。可以参考实现。这下面是一个发送文件(test.jpg)附件的例子(包含在上面那包里了):
    import java.awt.*;
    import javax.swing.*;
    import java.util.*;
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.*;
    import java.net.*;
    import java.io.*;public class SendMultiPartEmail implements SendEmailer{
    //发送带附件的email
    private File file;//附件文件
    private String text;//文本内容
    private JLabel status;//状态条
    public SendMultiPartEmail(JLabel status,File file,String text){
    this.file=file;
    this.status=status;
    this.text=text;
    }
    public void showStatus(String message){
    if(this.status!=null)
    this.status.setText(message);
    else
    System.out.println("status:"+message);
    }
    public void send(String host,    //收信服务器地址
    String from,    //发信人地址
    String to,    //收信人地址
    String subject,    //信件主题
    String content,    //信件内容
    String username,   //发信人ID
    String password    //发信人密码
    ){
    //判断是否需要用户验证
    String auth="false";
    if(username!=null&&password!=null)
    auth="true";

    this.showStatus("init sent..."); 

    try{

    Properties props=System.getProperties();
    props.put("mail.smtp.host",host);
    props.put("mail.smtp.auth",auth);

    Session session=Session.getInstance(props,new CCAuthenticator(username,password));
    //创建信息
    Message message=new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    message.setRecipients(Message.RecipientType.TO,
    InternetAddress.parse(to,false));
    message.setSubject(subject);
    //创建多部分信息
    Multipart multipart=new MimeMultipart();
    //init part1
    MimeBodyPart part1=new MimeBodyPart();
    part1.setText(this.text);
    //init part2
    MimeBodyPart part2=new MimeBodyPart();
    DataHandler dataHandler=new DataHandler(
    new StringDataSource(content,"text/html"));
    part2.setDataHandler(dataHandler);
    part2.setFileName("html text");
    //init part3
    MimeBodyPart part3=new MimeBodyPart();
    FileDataSource fileDataSource=new FileDataSource(this.file);
    part3.setDataHandler(new DataHandler(fileDataSource));
    part3.setFileName(file.getName());
    //add parts to the Multipart
    multipart.addBodyPart(part2,0);
    multipart.addBodyPart(part1,1);
    multipart.addBodyPart(part3,2);

    message.setContent(multipart);
    message.setSentDate(new Date());

    System.out.println("start send...");
    Transport.send(message);
    System.out.println("finished...");

    }catch(Exception e){
    e.printStackTrace();
    }
    }
    public static void main(String[] args){
    SendMultiPartEmail sender=new SendMultiPartEmail(null,new File("test.jpg"),"hello text content!");
    sender.send("smtp.126.com",//收信服务器地址
    "[email protected]",//发信人地址
    "[email protected],[email protected]",//收信人地址
    "subject:hello,good time!test.jpg",//信件主题
    "<html><head><title>title</title></head><body><h4>best! I want it so much,thanks!</h4>"//信件内容
    +"<br><strong>best! </strong><p>I want it so much,thanks!"
    +"<p>best! I <a href=\"http://cool.aofa.cn\" target=\"_blank\">"
    +"want it</a> so much,thanks!</body></html>",
    "coolcoot",//发信人ID
    "bestcc" //发信人密码
    );
    }
    }
      

  3.   

    发信的时候InternetAddress.parse(to);其中to是收件人地址,用逗号分割发送就行了
      

  4.   

    import java.util.*;
    import javax.mail.*;
    import java.lang.Object;
    import javax.mail.internet.*;public class SimpleSendMail {
      public SimpleSendMail() {
      }
      public static void main(String[] args) {
         String host="smtp.126.com";//你自己的主机
         String to="[email protected]";//要发给谁
         String from="[email protected]";//你的帐号
         String subject="发送测试";//主题
         String messageText="http://ltchina.net";//正文
         boolean sessionDebug=false;
         Properties props=System.getProperties();
         props.put("mail.smtp.host",host);
         props.put("mail.transport.protocol","smpt");
         props.put("mail.smtp.auth","true");
         //系统需要的信息
         Session session=Session.getDefaultInstance(props,null);
         //一次对话,一个session ,这个session 要货去固定的发送邮件信息
         session.setDebug(sessionDebug);
        try {
          Message meg=new MimeMessage(session);//生成消息实例
          meg.setFrom(new InternetAddress(from));//指定发件人
          InternetAddress[] address={new InternetAddress(to)};//生成收件人地址数组
          meg.setRecipients(Message.RecipientType.TO,address);//指定收件人数组
          meg.setSubject(subject);//指定主题
          meg.setText(messageText);//指定正文
          meg.setSentDate(new Date());//指定发送时间
          meg.saveChanges();//保存信息
          Transport transport=session.getTransport("smtp");//产生传输对象
          transport.connect("smtp.126.com","帐号","密码");
          //连接到你自己的主机
          transport.sendMessage(meg,meg.getAllRecipients());//开始发送
          System.out.println("send over");
        }
        catch (Exception ex) {
          System.out.println(ex.toString());
        }
      }}