קוד:
//set CLASSPATH=%CLASSPATH%;activation.jar;mail.jar
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class Mail
{
public boolean sendMail(String userName,String passWord,String host,String port,String starttls,String auth,boolean debug,String socketFactoryClass,String fallback,String[] to,String[] cc,String[] bcc,String subject,String text){
Properties props = new Properties();
//Properties props=System.getProperties();
props.put("mail.smtp.user", userName);
props.put("mail.smtp.host", host);
if(!"".equals(port))
props.put("mail.smtp.port", port);
if(!"".equals(starttls))
props.put("mail.smtp.starttls.enable",starttls);
props.put("mail.smtp.auth", auth);
if(debug){
props.put("mail.smtp.debug", "true");
}else{
props.put("mail.smtp.debug", "false");
}
if(!"".equals(port))
props.put("mail.smtp.socketFactory.port", port);
if(!"".equals(socketFactoryClass))
props.put("mail.smtp.socketFactory.class",socketFactoryClass);
if(!"".equals(fallback))
props.put("mail.smtp.socketFactory.fallback", fallback);
try
{
Session session = Session.getDefaultInstance(props, null);
session.setDebug(debug);
MimeMessage msg = new MimeMessage(session);
msg.setText(text);
msg.setSubject(subject);
msg.setFrom(new InternetAddress("p_sambasivarao@sutyam.com"));
for(int i=0;i<to.length;i++){
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to[i]));
}
for(int i=0;i<cc.length;i++){
msg.addRecipient(Message.RecipientType.CC, new InternetAddress(cc[i]));
}
for(int i=0;i<bcc.length;i++){
msg.addRecipient(Message.RecipientType.BCC, new InternetAddress(bcc[i]));
}
msg.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, userName, passWord);
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
return true;
}
catch (Exception mex)
{
mex.printStackTrace();
return false;
}
}
}
קוד:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<jsp:useBean id="mail" class="Mail" scope="session"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String[] to={"nadavgoldenberg@gmail.com", "rikivine@walla.com"};
String[] cc={};
String[] bcc={};
boolean b = mail.sendMail("*****@gmail.com","*****","smtp.gmail.com","465","true","true",true,"javax.net.ssl.SSLSocketFactory","false",to,cc,bcc, "כותרת","הודעה");
out.print(b);
%>
</body>
</html>
קוד:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/mail/Address
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:343)
javax.servlet.http.HttpServlet.service(HttpServlet .java:722)
root cause
java.lang.NoClassDefFoundError: javax/mail/Address
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unk nown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.getConstructor(Unknown Source)
org.apache.jasper.compiler.Generator$GenerateVisit or.visit(Generator.java:1210)
org.apache.jasper.compiler.Node$UseBean.accept(Nod e.java:1182)
org.apache.jasper.compiler.Node$Nodes.visit(Node.j ava:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody( Node.java:2428)
org.apache.jasper.compiler.Node$Visitor.visit(Node .java:2434)
org.apache.jasper.compiler.Node$Root.accept(Node.j ava:475)
org.apache.jasper.compiler.Node$Nodes.visit(Node.j ava:2376)
org.apache.jasper.compiler.Generator.generate(Gene rator.java:3458)
org.apache.jasper.compiler.Compiler.generateJava(C ompiler.java:249)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:365)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:345)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:332)
org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:594)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:342)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet .java:722)
root cause
java.lang.ClassNotFoundException: javax.mail.Address
org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1676)
org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1521)
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unk nown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.getConstructor(Unknown Source)
org.apache.jasper.compiler.Generator$GenerateVisit or.visit(Generator.java:1210)
org.apache.jasper.compiler.Node$UseBean.accept(Nod e.java:1182)
org.apache.jasper.compiler.Node$Nodes.visit(Node.j ava:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody( Node.java:2428)
org.apache.jasper.compiler.Node$Visitor.visit(Node .java:2434)
org.apache.jasper.compiler.Node$Root.accept(Node.j ava:475)
org.apache.jasper.compiler.Node$Nodes.visit(Node.j ava:2376)
org.apache.jasper.compiler.Generator.generate(Gene rator.java:3458)
org.apache.jasper.compiler.Compiler.generateJava(C ompiler.java:249)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:365)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:345)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:332)
org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:594)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:342)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet .java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.8 logs.
Apache Tomcat/7.0.8