java.io.PrintStream;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;public class SendMail
{    public SendMail()
    {
    }    public boolean Send(String s, Vector vt, String s2, String s3)
    {
        try
        {
            Properties properties = new Properties();
            Session session = Session.getInstance(properties, null);
            properties.put("mail.smtp.host", "smtp.jltg.com.cn");
            properties.put("mail.smtp.auth", "true");
            MimeMessage mimemessage = new MimeMessage(session);
            mimemessage.setFrom(new InternetAddress(s));
                        mimemessage.setSubject(s2);
            mimemessage.setSentDate(new Date());
            mimemessage.setText(s3);
            
            
                        
            Transport transport = session.getTransport("smtp");
            transport.connect("smtp.jltg.com.cn", 25, "jserkang", "liu911"); for(int i=0;i<vt.size();i++){

String str = ()vt.elementAt(i);
if(str != null && !str.equals("")){

InternetAddress internetAddress = new InternetAddress(str);
            
mimemessage.setRecipient(javax.mail.Message.RecipientType.TO, internetAddress);   
         
             transport.sendMessage(mimemessage, mimemessage.getAllRecipients());
             }
            }
            
            transport.close();
            System.out.println("\u53D1\u9001\u6210\u529F");
            return true;
        }
        catch(MessagingException messagingexception)
        {
            System.out.println(messagingexception.toString());
        }
        return false;
    }
public static void main(string args[])
{  SendMail  aa=new SendMail();}
上面只是一点简单的改动,其实TO 里面可以设置多个地址,有问题再研究如: 
String userIds = "[email protected],[email protected],[email protected]";
InternetAddress[] toAddrs = InternetAddress.parse(userIds, false);
msg.setRecipients(Message.RecipientType.TO, toAddrs);

解决方案 »

  1.   

    没看见附件  呵呵            //添加附件   Rex   2002-11-20 14:11
                File updir=new File(userAttachPath);
                //userAttachPath  是附件文件所在目录
                if(updir.exists()){
                    upfiles=updir.listFiles();
                    if (upfiles.length>0){
                        String filename="";
                        MimeMultipart mmp = new MimeMultipart();
                        MimeBodyPart mbp = new MimeBodyPart();
                        mbp.setText(text);
                        mbp.setHeader("Content-Type","text/plain; charset=iso-8859-1");
                        mmp.addBodyPart(mbp);
                        for(int i=0;i<upfiles.length;i++){
                            filename=upfiles[i].getName();
                            if (filename != null && !filename.equals("")) {
                                //加成 邮件大小  +附件
                                mailLength+=upfiles[i].length();
                                mbp = new MimeBodyPart();
                                mbp.setFileName(filename);
                                FileDataSource fds = new FileDataSource(userAttachPath+filename);
                                mbp.setDataHandler(new DataHandler(fds));
                                mmp.addBodyPart(mbp);
                            }  //end if
                        } //end for
                        msg.setContent(mmp);
                    }     //**IF(upfiles.length!=0){**
                }       //**IF (updir.exists()){
                else {
                    msg.setContent(text,"text/plain");
                }
      

  2.   

    群发也就是先生成 Message  然后循环发这个Message 
    不过循环中一次其实是可以发给多个地址的,上面有说到的
    并不一定一次循环发给一个人 这样没效率
      

  3.   

    rex0y(的开发绝望) 我不知道附件放在程序的哪里,而且运行群发的程序出现很多的错误,找不到类,并且我应该把文件放到哪里运行????急
      

  4.   

    类找不到? 搞不懂,你用的什么工具啊? 一般这个会用到 mail.jar activation.jar ...
    附件放在那里都行,只要你知道就行啊
    一般发邮件附件都是传上来的,位置当然由你的程序决定。
    或者比较特殊的话,你指定一个位置放附件文件
      

  5.   

    呵呵:
    【转】
    在整理网友的文章的时候,发现一个javamail的总结,特此谢谢the_east_key,并且公布给大家,希望对大家有做帮助,全文如下:
    本文章对:  
    发送普通邮件,接受普通邮件  
    发送带有附件的邮件,接收带有附件的邮件  
    发送html形式的邮件,接受html形式的邮件  
    发送带有图片的邮件等做了一个总结。  http://expert.csdn.net/Expert/topic/1177/1177970.xml?temp=.3405115
      

  6.   

    我用的是tomcat和jdk,没有你说的mail.jar activation.jar ,我该怎么做???急
      

  7.   

    下载 AXIS ,里头有 mail.jar activation.jar 等包
      

  8.   

    我按你的方法做了,但是出现了
    E:\whdzsw\dzsw\WEB-INF\classes>javac sendmail1.java
    Registry key 'Software\Java Runtime Environment\CurrentVersion'
    has value '1.4',not '1.3'is required.
    Error:could not find java.dll
    Error:coule not fing java 2 Runtime Environment.
    我出现了这样的错误,我不知道问题出现在那,请高手指点,谢谢。
      

  9.   

    我现在的错误是Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/Main
    这是什么错误
    我怎么解决
      

  10.   

    很明显,你没有把 tools.jar 包添加到CLASSPATH 中嘛,还有dt.jar 包