Java Mail 例子

  网上很多,不过一般都是没有smtp验证的,下边是一段示例代码:
  不能直接运行的,不过,可以看看里面关于验证的部分。

  //发送邮件函数
  public boolean sendMail(String mailTo,String mailSubject,String mailBody){
    //发送email
    try {
      //default account information
      String smtpServer = "smtp.smtpserver.com";
      String smtpAuth = "true";
      String smtpUser = "username";
      String smtpPassword = "password";
      String From = "from@yourserver.com";
      String To = mailTo;
      String Subject = mailSubject;
      String Text = mailBody;
      java.util.ResourceBundle resBundle;
      resBundle = java.util.ResourceBundle.getBundle("mailinfo",
          Locale.SIMPLIFIED_CHINESE);
      if (resBundle != null) {
        smtpServer = resBundle.getString("mail.smtp.host");
        smtpAuth = resBundle.getString("mail.smtp.auth");
        smtpUser = resBundle.getString("mail.smtp.user");
        smtpPassword = resBundle.getString("mail.smtp.password");
        From = resBundle.getString("mail.smtp.from");
      }
      Properties props = new Properties();
      Session sendMailSession;
      Transport transport;
      props.put("mail.smtp.host", smtpServer);
      props.put("mail.smtp.auth", smtpAuth);
      if ("true".equals(smtpAuth)) {
        //smtp服务器需要验证,用MyAuthertiactor来创建mail session
        MyAuthenticator myauth = new MyAuthenticator(smtpUser, smtpPassword);
        sendMailSession = Session.getInstance(props, myauth);
      }
      else {
        sendMailSession = Session.getInstance(props);
      }
      //Debug
      sendMailSession.setDebug(true);
      Message newMessage = new MimeMessage(sendMailSession);
      newMessage.setFrom(new InternetAddress(From));
      newMessage.setRecipient(Message.RecipientType.TO,
                              new InternetAddress(mailTo));
      newMessage.setSubject(Subject);
      newMessage.setSentDate(new Date());
      newMessage.setText(Text);
      newMessage.saveChanges();
      transport = sendMailSession.getTransport("smtp");
      transport.send(newMessage, newMessage.getAllRecipients());
      transport.close();
    }
    catch (Exception mailEx) {
      System.err.println("Send Mail Error:" + mailEx.getMessage());
      return false;
    }
    return true;
  }

  //smtp需要验证时候的验证类
  class MyAuthenticator
      extends javax.mail.Authenticator {
    private String strUser;
    private String strPwd;
    public MyAuthenticator(String user, String password) {
      this.strUser = user;
      this.strPwd = password;
    }

    protected PasswordAuthentication getPasswordAuthentication() {
      return new PasswordAuthentication(strUser, strPwd);
    }
  }

阅读更多
个人分类: java相关
想对作者说点什么? 我来说一句

java mail api下载

2009年11月24日 2.59MB 下载

javaMail的使用

2008年03月22日 2.88MB 下载

java 小示例

2012年09月17日 5KB 下载

Google Mail 发送与接收

2009年02月13日 2KB 下载

JAVA Mail Application

2009年09月13日 850KB 下载

java mail服务器源代码

2010年05月12日 27KB 下载

Java Mail实例

2009年07月03日 450KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭