概述
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,怎么回事?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复