最近我用JMAIL写了个发邮件的程序,不过只要程序启动时,程序就会无休止的等待中,也不报异常,想请问下是什么原因
下面的代码,我有试用把smtp地址故意写错,不过程序还是像上述那样,没有任何反应,只是在运行。
知道的高手们指点一下,谢谢了
下面的就是代码:smtp 我用的是QQ的:smtp.qq.com
SimpleEmail email = new SimpleEmail(); // 设置发送主机的服务器地址
email.setHostName("smtp.abc.com");
email.setSmtpPort(EmailConstant.SMPT_SERVER_PORT); // 设置收件人邮箱
email.addTo("[email protected]");

// 发件人邮箱
email.setFrom("[email protected]"); // 设置邮件的主题
email.setSubject("Hello, This is My First Email Application"); // 邮件正文消息
email.setMsg("I am bulktree This is JavaMail Application"); email.send(); System.out.println("The SimpleEmail send sucessful!!!");

解决方案 »

  1.   

    我以前写的一个,你参考下,JMAIL 网上列子也很多,比较简单
     JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();   // 设定 Mail Server
      senderImpl.setHost("Mail Server");   // SMTP验证时,需要用户名和密码
      senderImpl.setUsername("name");
      senderImpl.setPassword("password");
      // 不设这个是不能用用户名密码通过验证发的
      Properties prop = new Properties();
      prop.setProperty("mail.smtp.auth", "true");
      senderImpl.setJavaMailProperties(prop);
      // 建立邮件讯息
      MimeMessage mailMessage = senderImpl.createMimeMessage();
      MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,
        true, "UTF-8");
      // 设定收件人、寄件人、主题与内文
      messageHelper.setTo("------");
      messageHelper.setFrom("---------");
      messageHelper.setSubject("故障信息报告");
      messageHelper.setText("<html><head></head><body><h1>消息接收,请您查阅附件"
        + "</h1></body></html>", true);
      // 发附件,这里附件可以多个,只要再NEW一个FILE,再ADD一次,即可
      File files = new File(path+"\\"+"信息报送"+"_"+date+".xls");
      System.out.println("name="+files.getName());
     
      messageHelper.addAttachment(MimeUtility.encodeWord(files.getName()),
        files);
      // 传送邮件
      senderImpl.send(mailMessage);
      System.out.println("is ok");
      

  2.   

    String mailbody = "<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+
              content;
          SendEmail themail = new SendEmail();
          themail.setNeedAuth(true);
          if(themail.setSubject("标题") == false) return;
          if(themail.setBody(mailbody) == false) return;
          if(themail.setTo("[email protected]") == false) return;
          if(themail.setFrom("[email protected]") == false) return;
          if(themail.sendout() == false)return;我以前写的一个,其实网上有很多例子,参考一下,应该可以搞定的