网上很多,不过一般都是没有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); } }

|