Problemas com javax.mail

Pessoal, me dêem uma ajuda, por favor:
Estou tentando implementar uma classe, em um Servlet, para envio de e-mails. Uso o codigo abaixo:

try {
            Properties p = new Properties();
            p.put("mail.host", "smtp2.locaweb.com.br");
            Session session = Session.getInstance(p, null);
            MimeMessage msg = new MimeMessage(session);

            // "de" e "para"!!
            msg.setFrom(new InternetAddress("itrade@itradeti.com.br"));
            msg.setRecipient(Message.RecipientType.TO, new InternetAddress("christianovale@gmail.com"));

            msg.setSentDate(new Date());

            msg.setSubject("assunto da mensagem");

            msg.setText("corpo da mensagem");

            Transport.send(msg);
        } catch (AddressException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }

Porém a linha:

MimeMessage msg = new MimeMessage(session);

está disparando a exessao

OBS: o arquivo mail.jar etá adicinado à lib do meu projeto.

Como posso fazer?

Obrigado desde já!

Pessoal, resolvi o problema acima citado!
Tava faltando o arquivo activation.jar

agora tah dando o seguinte problema na linha:

String mensagem = "Mensagem do email";
msg.setContent (mensagem, "text/plain");

Transport.send(msg);  // Esta Linha

O que pode ser agora?

cara estou com um erro parecido…

vc sabe o q pode ser, se é algum .jar faltando…

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)

ve se isso ajuda vcs ae. [code]public void send(MailMessage msg) throws Exception {
try {
Properties mailProps = new Properties();

        mailProps.put("mail.smtp.host", "mail.XXXX.com");

        SimpleAuth auth = null;
        if (!NEED_AUTH) {
            // [#] No authorization needed for this mailManager server
            mailProps.put("mail.smtp.auth", "false");
        } else {
            // [#] Authorization needed for this mailManager server
            auth = new SimpleAuth("XXXXX@vendomais.com", "[senha]");
            mailProps.put("mail.smtp.auth", "true");
            mailProps.put("mail.user", auth.username);
            mailProps.put("mail.from", msg.getFrom());
            mailProps.put("mail.to", msg.getTo());
        }

        Session mailSession = Session.getInstance(mailProps, auth);
        mailSession.setDebug(false);
        Message email = new MimeMessage(mailSession);
        email.setRecipients( Message.RecipientType.TO,     
        InternetAddress.parse(msg.getTo()));.......

[/code]

essa classe SimpleAuth esta em algum jar???



import javax.mail.*;
import javax.mail.internet.*;


import java.util.Properties;

public class Email {
	
	//Class autenticador
	class Autenticador extends Authenticator {
	        public String username = null;
	        public String password = null;


	        public Autenticador (String user, String pwd) {
	            username = user;
	            password = pwd;
	        }

	        protected PasswordAuthentication getPasswordAuthentication() {
	            return new PasswordAuthentication(username,password);
	        }
	    }
	
	public void enviarEmail(DTO) throws AddressException, MessagingException {
		try{

	      Properties propriedade = new Properties();
	      propriedade.put("mail.host", DTO.getServidor());
	      propriedade.put("mail.smtp.auth", "false");

	      Authenticator auth = new Autenticador(usr, pwd);
	      Session mailSession = Session.getDefaultInstance(propriedade, auth);
	      
	      /**As duas linhas seguintes, colocam os dados no formato de endereços de email.*/ 
	      InternetAddress destinatario = new InternetAddress(DTO.getTo());
	      InternetAddress remetente = new InternetAddress(DTO.getFrom());
	      
	      /**As duas linhas de código a seguir, são responsáveis por setar os atributos e 
	      propriedas necessárias do objeto message para que o email seja enviado.*/

	      Message menssagem = new MimeMessage(mailSession);
	      
	      menssagem.setFrom(remetente);
	      menssagem.setRecipient(Message.RecipientType.TO, destinatario);//define o(s) destinatário(s) e qual o tipo (TO, CC, BCC)
	      
	      menssagem.setSubject(DTO.getAssunto());
	      menssagem.setContent(DTO.getMensagem().toString(), "text/html; charset=iso-8859-1");//conteúdo e tipo da mensagem 
	      
	      Transport.send(menssagem);
	      
		}catch (AddressException e) {
			throw new AddressException ("erro : "+e.getMessage());
		}catch (MessagingException e) {
			throw new MessagingException ("erro: "+e.getMessage());
		}
	   }