javamail支持发送附件的-
只是不知道lz的要求是什么?

解决方案 »

  1.   

    同时搜网(www.tongshisou.com)是一个很有创意的搜索网站,是目前最易用,最方便的整合搜索网站,本身不做搜索却把业界的搜索引擎聚合在自己网站中,包括百度,GOOGLE,YAHOO,中搜,爱问,搜狗,奇虎,腾讯搜搜,OPENV,TVIX,有网页 新闻 图片 音乐 视频 地图 工作 餐饮 的搜索,可谓很全哦,搜索起来确实方便,而且很易用,可以把结果同时在一个网页中以分割条形式分开,而且可以分割成2-4个窗口,大家可以一试哦www.tongshisou.com
      

  2.   

    StringBuffer msg = new StringBuffer();
            msg.append("中间可以加入所要发到邮箱的页面");
            msg.append("中间可以加入所要发到邮箱的页面");
            msg.append("中间可以加入所要发到邮箱的页面");
            msg.append("中间可以加入所要发到邮箱的页面");
            msg.append("中间可以加入所要发到邮箱的页面");try {
                EmailTool emt = new EmailTool();  //实例化下面发送邮件的功能bean
                emt.setTo(要发送到的邮箱);
                emt.setFrom("发送地址");
                emt.setSubject("发送的标题")
                emt.setContent(msg.toString());  //内容格式转换
                emt.setSmtpHost("邮件服务器地址。自己申请");
                emt.setUser("服务器用户名");
                emt.setPassword("服务器密码");
                emt.startSend();
            } catch (Exception e) {}
    //注  :注意写法与页面一样,但是页面中的双引号一定要换成单引号
    功能bean太长,不让发下个帖子发
      

  3.   

    下面是邮件发送调用类写法package ecall.webmail;import javax.mail.*;
    import javax.mail.Store;
    import javax.mail.internet.*;
    import javax.activation.*;
    import java.util.*;
    import javax.servlet.http.*;
    import java.text.SimpleDateFormat;
    public class EmailTool {
        public EmailTool() {
            try {
                jbInit();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }    private String from;
        private String to;
        private String user;
        private String password;
        private String smtpHost;
        private String pop3Host;
        private String hostName;
        private String subject;
        private String content;
        private String filename;
        public String getFrom() {
            return from;
        }    public String getTo() {
            return to;
        }    public String getUser() {
            return user;
        }    public String getPassword() {
            return password;
        }    public String getSmtpHost() {
            return smtpHost;
        }    public String getPop3Host() {
            return pop3Host;
        }    public String getHostName() {
            return hostName;
        }    public String getSubject() {
            return subject;
        }
        public String getContent() {
            return content;
        }    public String getFilename() {
            return filename;
        }
        public void setFrom(String from) {
            this.from = from;
        }    public void setTo(String to) {
            this.to = to;
        }
        public void setUser(String user) {
            this.user = user;
        }    public void setPassword(String password) {
            this.password = password;
        }    public void setSmtpHost(String smtpHost) {
            this.smtpHost = smtpHost;
        }    public void setPop3Host(String pop3Host) {
            this.pop3Host = pop3Host;
        }    public void setHostName(String hostName) {
            this.hostName = hostName;
        }    public void setSubject(String subject) {
            this.subject = subject;
        }    public void setContent(String content) {
            this.content = content;
        }    public void setFilename(String filename) {
            this.filename = filename;
        }
    //sendMail start method
        public void startSend() throws MessagingException {
            runSend();
        }    private void runSend() throws MessagingException {
            sendMail();
        }//receive start method
        public void startReceive() throws MessagingException {
            runReceive();
        }    public void runReceive() throws MessagingException {
            receiveMail();
        }
      

  4.   

    接着上面
     private void sendMail() throws MessagingException {
            try {
                // this.smtpHost = this.createSmtpHost();
                // Get system properties
                // Properties props = System.getProperties();
                Properties props = new Properties();
                // Setup mail server
                props.put("mail.smtp.host", this.smtpHost);            props.put("mail.smtp.auth", "false"); //验证            // Get session
                Session session = Session.getDefaultInstance(props);
                session.setDebug(true);
                // Define message
                MimeMessage message = new MimeMessage(session);
                message.setFrom(new InternetAddress(from));
                //message.setFrom();
                message.addRecipient(Message.RecipientType.TO,
                                     new InternetAddress(to));
                message.setSubject(this.getSubject());
                 System.out.println("::"+this.getFilename());
                if (this.getFilename() != null) {
                    BodyPart messagebodyPart = new MimeBodyPart();
                    messagebodyPart.setContent(this.getContent(),
                                               "text/html;charset=gb2312");
                    System.out.println("文件名称:" + this.getFilename());
                    Multipart multipart = new MimeMultipart();
                    multipart.addBodyPart(messagebodyPart);
                    messagebodyPart = new MimeBodyPart();
                    DataSource source = new FileDataSource(this.getFilename());
                    messagebodyPart.setDataHandler(new DataHandler(source));
                    messagebodyPart.setFileName(this.getFilename());
                    multipart.addBodyPart(messagebodyPart);                // message.setContent(this.content, "text/html;charset=gb2312");
                    message.setContent(multipart);
                    message.setSentDate(new java.util.Date());                // Send message
                    message.saveChanges();
                    Transport transport = session.getTransport("smtp");
                    transport.connect(this.smtpHost, this.user, this.password);                transport.sendMessage(message,
                                          message.getAllRecipients());
                    transport.close();
                    System.out.println("发送成功!");
                } else {
                    message.setContent(this.content, "text/html;charset=gb2312");
                    message.setSentDate(new java.util.Date());
                    // Send message
                    message.saveChanges();
                    Transport transport = session.getTransport("smtp");
                    transport.connect(this.smtpHost, this.user, this.password);
                    message.saveChanges();
                    //transport.sendMessage(message, message.getAllRecipients());
                    transport.sendMessage(message,
                                          message.getRecipients(Message.
                            RecipientType.TO));
                    transport.close();
                }
            } catch (Exception e) {
             // System.out.println("aaaaaaaaaa");
             e.printStackTrace();
             throw new MessagingException("throw in tSql1");        }
        }    private void receiveMail() throws MessagingException {
            Store store = null;
            try {            store.connect(this.pop3Host, -1, this.user + "@" + this.hostName,
                              this.password);
            } catch (javax.mail.AuthenticationFailedException e) {
                content = "用户名与密码不匹配";
            }
            try {
                //open main "INBOX" folder.
                Folder folder = store.getFolder("INBOX");
                folder.open(Folder.READ_WRITE);
                //Get folder's list of messages.
                Message message[] = folder.getMessages();
                //Retrieve message headers for each message in folder.
                FetchProfile fp = new FetchProfile();            fp.add(FetchProfile.Item.ENVELOPE);
                fp.add(FetchProfile.Item.FLAGS);
                fp.add("X-Mailer");
                folder.fetch(message, fp);            String contentbody = "";
                String mailFrom = "";
                String mailTime = "";
                String mailSubject = "";
                String mailFileName = "";
                Database database = new Database();
                //Address f[]=new Address[folder.getMessageCount()];
                for (int j = 0; j < folder.getMessageCount(); j++) {
                    //get mail from
                    Object f = message[j].getFrom();
                    mailFrom = (String) f;
                    //get mail subject
                    mailSubject = message[j].getSubject();
                    //get mail file name
                    mailFileName = message[j].getFileName();
                    //get mail time
                    Date t = message[j].getReceivedDate();
                    SimpleDateFormat bartDateFormat = new SimpleDateFormat(
                            "yyyy-MM-dd");
                    mailTime = bartDateFormat.format(t);
                    //get mail content
                    Object o = message[j].getContent();
                    if (message[j].isMimeType("text/plain")) {
                        contentbody = (String) o + "</td>";
                        StringBuffer buf = new StringBuffer(contentbody.length() +
                                6);
                        char ch = ' ';
                        for (int p = 0; p < contentbody.length(); p++) { //若遇到换行就转为<br>
                            ch = contentbody.charAt(p);
                            if (ch == '\n') {
                                buf.append("<br>");
                            } else {
                                buf.append(ch);
                            }
                        }
                        contentbody = buf.toString();
                    } else if (message[j].isMimeType("text/html")) {
                        contentbody = (String) o + "</td>";
                    }
                    //database
                }        } catch (Exception e) {        }    }    public static void main(String[] args) {
        /*  可以测试
              try {
                em.startSend();
              } catch (MessagingException ex) {
              }
            System.out.println("发送完成");
          */
        }    private void jbInit() throws Exception {
        }
    }