给你我的这段代码,可以实现你要的功能import javax.mail.*;
import javax.mail.internet.*; 
public class SmtpOperator{private MimeMessage mimeMsg;
    /** 邮件会话对象 */
    private Session session;
    /** 系统属性 */
    private Properties props;//存储smtp服务器的主机名,用户名,密码
 /**
     * @return boolean
     */
    public boolean createMimeMessage() {
        try {
            System.out.println("准备获取邮件会话对象!");
            session = Session.getDefaultInstance(props, null); //获得邮件会话对象
        } catch (Exception e) {
            System.err.println("获取邮件会话对象时发生错误!" + e);
            return false;
        }        System.out.println("准备创建MIME邮件对象!");
        try {
            mimeMsg = new MimeMessage(session); //创建MIME邮件对象
            mp = new MimeMultipart();            return true;
        } catch (Exception e) {
            System.err.println("创建MIME邮件对象失败!" + e);
            return false;
        }
    }
/**
     * 发送邮件
     * @return
     */
    public boolean sendout() {        try {
            mimeMsg.setContent(mp);
            mimeMsg.saveChanges();
            System.out.println("正在发送邮件....");            Session mailSession = Session.getInstance(props, null);
            Transport transport = mailSession.getTransport("smtp");
//           System.out.println("host:"+props.get("mail.smtp.host"));
//           System.out.println("username:"+props.getProperty("mail.smtp.username"));
//           System.out.println("password:"+props.getProperty("mail.smtp.password"));            transport.connect(props.getProperty("mail.smtp.host"),
                              props.getProperty("mail.smtp.username"),
                              props.getProperty("mail.smtp.password"));
            transport.sendMessage(mimeMsg,
                                  mimeMsg.getRecipients(Message.RecipientType.
                TO));
            //transport.send(mimeMsg);            System.out.println("发送邮件成功!");
            transport.close();            return true;
        } catch (Exception e) {
            e.printStackTrace();
            System.err.println("邮件发送失败!" + e);
            return false;
        }
    }
}

解决方案 »

  1.   

    如果你用的smtp服务器需要做smtp验证的话,你就没有办法。除非你可以联系那个管理员把你的邮件列表加入他的relay列表中。比较现实的办法,你自己做一smtp服务器,用sendmail或是qmail都可以,这样你自己就是管理员了,你就可以用那个smtp帮你发邮件了
      

  2.   

    你需要有权限的用户名和密码,然后在程序中把用户名和密码加上去java.util.Properties props=System.getProperties();
          props.put("mail.host",mailserver);
          props.put("mail.transport.protocol","smtp");
          props.put("mail.transport.user","buyc");
          props.put("mail.transport.password","buyc");
      

  3.   

    如果你用的smtp服务器需要做smtp验证的话,你就没有办法。除非你可以联系那个管理员把你的邮件列表加入他的relay列表中。比较现实的办法,你自己做一smtp服务器,用sendmail或是qmail都可以,这样你自己就是管理员了,你就可以用那个smtp帮你发邮件了
      

  4.   

    rainight(雨夜聆风) import javax.mail.*;
    import javax.mail.internet.*; 
    classpath应该包含哪个jar包?????????????????
      

  5.   

    CoolAbu(程序员跟GF不兼容(★★★★)) (props我在代码中应该怎么使用呢???????????????
    小弟道行不深,给写明白一点吧,大峡。
      

  6.   

    import java.util.*;
    import javax.activation.*;
    import javax.mail.*;
    import javax.mail.internet.*;
        
    /**
     * <p>Title: 简单的MailBean</p>
     * <p>Description: 提供简便的Mail发送功能(支持多附件及身份验证)</p>
     * <p>Copyright: Copyright (c) 2003</p>
     * <p>Company: </p>
     * @author diystar
     * @version 1.0
     */
    public class SimpleMail
    {
        private String sender = null;//发件人地址
        private String smtpHost = null;//邮件发送服务器(smtp)
        private String user = null;//登录用户名
        private String password = null;//登录密码
        
        private String receiver = null;//收件人地址
        private String copyReceiver = null;//抄送人地址
        private String hiddenReceiver = null;//暗送人地址
        
        private String subject = null;//mail主题
        private String content = null;//mail内容
        private String affixPath = null;//mail附件的路径
        
        /** 设置发件人地址 */
        public void setSender(String sender) {this.sender = sender;}
        public String getSender() {return sender;}
        
        /** 设置邮件发送服务器(smtp) */
        public void setSmtpHost(String smtpHost) {this.smtpHost = smtpHost;}
        public String getSmtpHost() {return smtpHost;}
        
        /** 设置登录用户名 */
        public void setUser(String user) {this.user = user;}
        public String getUser() {return user;}
        
        /** 设置登录密码 */
        public void setPassword(String password) {this.password = password;}
        public String getPassword() {return password;}
        
        /** 设置收件人地址 */
        public void setReceiver(String receiver) {this.receiver = receiver;}
        public String getReceiver() {return receiver;}
        
        /** 设置抄送人地址 */
        public void setCopyReceiver(String receiver) {this.copyReceiver = receiver;}
        public String getCopyReceiver() {return copyReceiver;}
        
        /** 设置暗送人地址 */
        public void setHiddenReceiver(String receiver) {this.hiddenReceiver = receiver;}
        public String getHiddenReceiver() {return hiddenReceiver;}
        
        /** 设置mail主题 */
        public void setSubject(String subject) {this.subject = subject;}
        public String getSubject() {return subject;}
        
        /** 设置mail内容 */
        public void setContent(String content) {this.content = content;}
        public String getContent() {return content;}
        
        /** 设置mail附件的路径 */
        public void setAffixPath(String affixPath) {this.affixPath = affixPath;}
        public String getAffixPath() {return affixPath;}
        
        /**
         * 使用smtp发送邮件
         * @throws MessagingException mail发送失败
         */
        public void smtp() throws MessagingException
        {
            if (smtpHost == null) throw new MessagingException("smtpHost not found");
            if (user == null) throw new MessagingException("user not found");
            if (password == null) throw new MessagingException("password not found");
            if (receiver == null && copyReceiver == null && hiddenReceiver == null)
                throw new MessagingException("receiver not found");
        
            Properties properties = new Properties();
            properties.put("mail.smtp.host", smtpHost);//设置smtp主机
            properties.put("mail.smtp.auth", "true");//使用smtp身份验证
        
            Session session = Session.getDefaultInstance(properties, new Authenticator()
            {
                public PasswordAuthentication getPasswordAuthentication()
                {
                    return new PasswordAuthentication(user, password);
                }
            });//获得邮件会话对象
        
            MimeMessage mimeMsg = new MimeMessage(session);//创建MIME邮件对象
        
            if (sender != null)//设置发件人地址
                mimeMsg.setFrom(new InternetAddress(sender));
        
            if (receiver != null)//设置收件人地址
                mimeMsg.setRecipients(Message.RecipientType.TO, parse(receiver));
        
            if (copyReceiver != null)//设置抄送人地址
                mimeMsg.setRecipients(Message.RecipientType.CC, parse(copyReceiver));
        
            if (hiddenReceiver != null)//设置暗送人地址
                mimeMsg.setRecipients(Message.RecipientType.BCC, parse(hiddenReceiver));
        
            if (subject != null)//设置邮件主题
                mimeMsg.setSubject(subject, "UTF-8");
        
            MimeBodyPart part = new MimeBodyPart();//mail内容部分
            part.setText(content == null ? "" : content, "UTF-8");
        
            Multipart multipart = new MimeMultipart();
            multipart.addBodyPart(part);//在 Multipart 中增加mail内容部分
        
            if (affixPath != null)//mail附件部分
            {
                ArrayList parts = parsePath(affixPath);
                for (int i = 0; i < parts.size(); i ++)
                {
                    multipart.addBodyPart( (MimeBodyPart) parts.get(i));
                }
            }
        
            mimeMsg.setContent(multipart);//增加 Multipart 到信息体
            mimeMsg.setSentDate(new Date());//设置发送日期        Transport.send(mimeMsg);//发送邮件
        }
        
        /** 解析地址集合字符串 */
        private InternetAddress[] parse(String addressSet) throws AddressException
        {
            ArrayList list = new ArrayList();        StringTokenizer tokens = new StringTokenizer(addressSet, ";");
            while (tokens.hasMoreTokens())
            {
                list.add(new InternetAddress(tokens.nextToken().trim()));
            }        InternetAddress[] addressArray = new InternetAddress[list.size()];
            list.toArray(addressArray);
            return addressArray;
        }
        
        /** 解析附件路径字符串 */
        private ArrayList parsePath(String affixPath) throws MessagingException
        {
            ArrayList list = new ArrayList();        StringTokenizer tokens = new StringTokenizer(affixPath, ";");
            while (tokens.hasMoreTokens())
            {
                MimeBodyPart part = new MimeBodyPart();
                FileDataSource source = new FileDataSource(tokens.nextToken().trim());
                part.setDataHandler(new DataHandler(source));
                part.setFileName(source.getName());
                list.add(part);
            }        return list;
        }}
      

  7.   

    javax.mail.*
    在哪个jar包里,我找不到阿!!!!!!!!!!!!!!??????????????
      

  8.   

    http://java.sun.com/products/javamail/
      

  9.   

    各位大侠,还差点,javax.activation.*的包哪里找?????????????
      

  10.   

    小弟,也正在做这方面的东西!
    留下[email protected]
    特别请成功人士 wghok2002(云)等指点