我是靠谱客的博主 飘逸小懒猪,最近开发中收集的这篇文章主要介绍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

最后

以上就是飘逸小懒猪为你收集整理的authenticator java,java.lang.NoClassDefFoundError:javax / mail / Authenticator,怎么回事?的全部内容,希望文章能够帮你解决authenticator java,java.lang.NoClassDefFoundError:javax / mail / Authenticator,怎么回事?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(28)

评论列表共有 0 条评论

立即
投稿
返回
顶部