authenticator java,java.lang.NoClassDefFoundError:javax / mail / Authenticator,怎么回事?

Send to Email.java

package helper;

//Mail.java - smtp sending starttls (ssl) authentication enabled

//1.Open a new Java class in netbeans (default package of the project) and name it as "Mail.java"

//2.Copy paste the entire code below and save it.

//3.Right click on the file name in the left side panel and click "compile" then click "Run"

import javax.mail.*;

import javax.mail.internet.*;

import java.util.*;

public class sendToEmail

{

String d_email = "sample@gmail.com",

d_password = "mysamplepassword",

d_host = "smtp.gmail.com",

d_port = "465",

//m_to = "sample@yahoo.com",

m_subject = "trial",

m_text = "Hey, this is the testing email.";

public sendToEmail(String strEmailAddress)

{

Properties props = new Properties();

props.put("mail.smtp.user", d_email);

props.put("mail.smtp.host", d_host);

props.put("mail.smtp.port", d_port);

props.put("mail.smtp.starttls.enable","true");

props.put("mail.smtp.auth", "true");

//props.put("mail.smtp.debug", "true");

props.put("mail.smtp.socketFactory.port", d_port);

props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

props.put("mail.smtp.socketFactory.fallback", "false");

SecurityManager security = System.getSecurityManager();

try

{

Authenticator auth = new SMTPAuthenticator();

Session session = Session.getInstance(props, auth);

//session.setDebug(true);

MimeMessage msg = new MimeMessage(session);

msg.setText(m_text);

msg.setSubject(m_subject);

msg.setFrom(new InternetAddress(d_email));

msg.addRecipient(Message.RecipientType.TO, new InternetAddress(strEmailAddress));

Transport.send(msg);

}

catch (Exception mex)

{

mex.printStackTrace();

}

}

public class SMTPAuthenticator extends javax.mail.Authenticator

{

public PasswordAuthentication getPasswordAuthentication()

{

return new PasswordAuthentication(d_email, d_password);

}

}

}

portion of my controller.java

/* Send to Email will run properly soon */

sendToEmail email = new sendToEmail(strEmailAddress);

When I run my web application I got this error message saying:

Type Exception report

message

description The server encountered an

internal error () that prevented it

from fulfilling this request.

exception

javax.servlet.ServletException:

Servlet execution threw an exception

root cause

java.lang.NoClassDefFoundError:

javax/mail/Authenticator

controller.RegisterTenantController.doPost(RegisterTenantController.java:108)

javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

What will I do now? Can somebody help me to get this web application successful?

解决方案

You need to add two jars into the WEB-INF/lib directory or your webapp (or lib directory of the server):

mail.jar - contains the actual smtp implmentation

activation.jar - needed by mail.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值