得用加密算法把密码(好像还有ID)加密后发送。留Email吧,99年写的代码,好用。

解决方案 »

  1.   

    transport = sendMailSession.getTransport("smtp");
    transport.send(newMessage);应该加句 transport.connect(mailserver,name,password);//以smtp方式登录邮箱
      

  2.   

    //发送邮件使用的服务器
            String hostName = mailBox.getHostName();
            //连接服务器的用户名
            String userName = mailBox.getUserName();
            //连接服务器的用户密码
            String password = mailBox.getPassword();        //Properties env = System.getProperties();
            Properties env=new Properties();
            //存储发送邮件服务器的信息
            env.put("mail.smtp.host", hostName);
            //同时通过验证
            env.put("mail.smtp.auth", "true");        //得到登陆器
            AbstractAuthenticator authenticator = MailElementFactory.getInstance()
                    .createAuthenticator();
            //根据属性新建一个邮件会话
            Session session = Session.getDefaultInstance(env);
            session.setDebug(false);        //创建一个消息
            MimeMessage message = new MimeMessage(session);
            //设定该消息的信息        //设定发件人
            UserEMailAddress fromAddress = mail.getFromUser();
            if (fromAddress != null) {
                String fromUser = fromAddress.getUserName();
                String fromEmail = fromAddress.getEmailAddress();
                InternetAddress fromInter = new InternetAddress(fromUser, fromEmail);
                message.setFrom(fromInter);
            } else {
                InternetAddress from=new InternetAddress("[email protected]");
                message.setFrom(from);
            }        //设定发送到
            Collection toUser = mail.getToUser();
            if (toUser != null && toUser.size() > 0) {
                Iterator iter = toUser.iterator();
                while (iter.hasNext()) {
                    UserEMailAddress address = (UserEMailAddress) iter.next();
                    addAddress(message, address, Message.RecipientType.TO);
                }
            }        //设定抄送到
            Collection copyUser = mail.getCopyUser();
            if (copyUser != null && copyUser.size() > 0) {
                Iterator iter = copyUser.iterator();
                while (iter.hasNext()) {
                    UserEMailAddress address = (UserEMailAddress) iter.next();
                    addAddress(message, address, Message.RecipientType.CC);
                }
            }        //密送到
            Collection copySecretUser = mail.getCopySecrecyUser();
            if (copySecretUser != null && copySecretUser.size() > 0) {
                Iterator iter = copySecretUser.iterator();
                while (iter.hasNext()) {
                    UserEMailAddress address = (UserEMailAddress) iter.next();
                    addAddress(message, address, Message.RecipientType.BCC);
                }
            }        //设定回复地址
            Collection repliesUser = mail.getRepliesUser();
            if (repliesUser != null && repliesUser.size() > 0) {
                Iterator replyIter = repliesUser.iterator();
                Collection replyAddresses = new ArrayList();
                while (replyIter.hasNext()) {
                    UserEMailAddress reAddress = (UserEMailAddress) replyIter
                            .next();
                    String replyUserName = reAddress.getUserName();
                    String replyEmail = reAddress.getEmailAddress();
                    InternetAddress re = new InternetAddress(replyUserName,
                            replyEmail);
                    replyAddresses.add(re);
                }
                message.setReplyTo((Address[]) replyAddresses
                        .toArray(new Address[] {}));
            }        //设定主题
            message.setSubject(mail.getSubject());        //设定发送时间
            message.setSentDate(mail.getSendDate());        //创建消息体
            buildMessageContent(message);
            //加了没有反映
    //        message.setFlag(Flags.Flag.DRAFT,true);
    //        message.setFlag(Flags.Flag.SEEN,true);
            
         /*   //设定需要回执,第二参数为回复地址,可以多个设定
            message.addHeader("Disposition-Notification-To","[email protected],[email protected]");
            */
            
            
            message.saveChanges();
            
            Transport transport=session.getTransport("smtp");
            MailListener listener=new MailListener();
            transport.addTransportListener(listener);
            transport.addConnectionListener(listener);
            transport.connect(hostName,userName,password);
            transport.sendMessage(message,message.getAllRecipients());
            transport.close();