javamail邮件发送方法实例参考。
注:
java.lang.NoClassDefFoundError: javax/mail/Authenticator
java.lang.NoClassDefFoundError: javax/mail/Authenticator
缺少activation.jar包和mail.jar包 activation.jar下载地址http://repo1.maven.org/maven2/javax/activation/activation/1.1/activation-1.1.jar mail.jar包下载地址 下载后放入TOMCAT_HOME/lib目录下,TOMCAT_HOME是tomcat的安装目录,然后重启tomcat即可 |
转自:http://hi.baidu.com/xjll1314/blog/item/b8c595ee8b2e2d2d62d09f00
我在使用时由于版本问题,在JB中可直接运行,但生成exe时提示上述错误,使用新版本jar包后,问题解决。
本人将这几段java代码 放入了 SRC的java代码区中 测试向163邮箱
下面是相关的 3个类
package com.util.mail;
import java.util.Properties;
public class MailSenderInfo {
// 发送邮件的服务器的IP和端口
private String mailServerHost;
private String mailServerPort = “25″;
// 邮件发送者的地址
private String fromAddress;
// 邮件接收者的地址
private String toAddress;
// 登陆邮件发送服务器的用户名和密码
private String userName;
private String password;
// 是否需要身份验证
private boolean validate = false;
// 邮件主题
private String subject;
// 邮件的文本内容
private String content;
// 邮件附件的文件名
private String[] attachFileNames;
public Properties getProperties(){
}
public String getMailServerHost() {
}
public void setMailServerHost(String mailServerHost) {
}
public String getMailServerPort() {
}
public void setMailServerPort(String mailServerPort) {
}
public boolean isValidate() {
}
public void setValidate(boolean validate) {
}
public String[] getAttachFileNames() {
}
public void setAttachFileNames(String[] fileNames) {
}
public String getFromAddress() {
}
public void setFromAddress(String fromAddress) {
}
public String getPassword() {
}
public void setPassword(String password) {
}
public String getToAddress() {
}
public void setToAddress(String toAddress) {
}
public String getUserName() {
}
public void setUserName(String userName) {
}
public String getSubject() {
}
public void setSubject(String subject) {
}
public String getContent() {
}
public void setContent(String textContent) {
}
}
//—————————- ————————————————————————–
package com.util.mail;
package com.util.mail;
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class SimpleMailSender {
public boolean sendTextMail(MailSenderInfo mailInfo) {
authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
}
public static boolean sendHtmlMail(MailSenderInfo mailInfo){
authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
}
}
java 调用
//——————————————————————————————————
import javax.mail.*;
public class MyAuthenticator extends Authenticator{
String userName=null;
String password=null;
public MyAuthenticator(){
}
public MyAuthenticator(String username, String password) {
this.userName = username;
this.password = password;
}
protected PasswordAuthentication getPasswordAuthenticatio n(){
return new PasswordAuthentication(userName, password);
}
public static void main(String[] args){
}
//——————————————————————————————————
groovy调用 由于调用的是java代码 其实和java一摸一样