Problemas para enviar email

1 resposta
aangreen

Ola,
Fiz uma classe em minha aplicação Java para enviar e-mail, só que está dando um erro e naum sei o q está errado, será q alguém pode me ajudar

os códigos são os seguintes:

package extAulanet.utils;

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

public class CSMTPAutenticacao extends Authenticator{
	private String userName;
	private String password;
	public CSMTPAutenticacao(String userName, String password) {
		this.userName = userName;
		this.password = password;
	}
	
	public PasswordAuthentication getPasswordAuthentication() {
	      return new PasswordAuthentication(userName, password);
	   }


}
package extAulanet.utils;

import java.util.Date;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


public class CEmail {
	private String smtp;
	private String username;
	private String password;
	private String from;
	private String to;
	private String assunto;
	private String corpoMsg;
	public CEmail(String host, String smtp, String from, String to, String corpoMsg, String assunto,
			String username, String password){
		this.smtp = smtp;
		this.username = username;
		this.password = password;
		this.from = from;
		this.to = to;
		this.assunto = assunto;
		this.corpoMsg = corpoMsg;
	}
	
	public void enviaEmail(){
		Properties p = new Properties();
		//p.put(host, smtp);
		p.put("mail.smtp.host",smtp);
		Authenticator auth = new CSMTPAutenticacao(username, password);
		Session session = Session.getInstance(p,auth);
		p.put("mail.smtp.auth", "false");
		
		MimeMessage msg = new MimeMessage(session);
		
		try{
			msg.setFrom(new InternetAddress(from));
			msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
			msg.setSentDate(new Date());
			msg.setSubject(assunto);
			msg.setText(corpoMsg.toString(), "text/html");
			Transport.send(msg);
			
		}catch(AddressException e){
			e.printStackTrace();
		}catch(MessagingException e){
			e.printStackTrace();
		}
	}
	
}

esse é o erro q ta dando:

java.lang.NoClassDefFoundError: javax/mail/MessagingException
at extAulanet.pkServlet.ServletCadastro.processRequest(ServletCadastro.java:204)
at extAulanet.pkServlet.ServletCadastro.doPost(ServletCadastro.java:499)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)

1 Resposta

furutani

falta adicionar os jar referentes ao java mail no classpath da sua aplicação.

Criado 21 de setembro de 2006
Ultima resposta 21 de set. de 2006
Respostas 1
Participantes 2