Enviando mensagem para email por Servlet

Ola amigos

Ja faz algum tempo que estou tentando enviar mensagem para meu email atraves de servlet, porem nao consigo.

Com o codigo abaixo eu consigo enviar a mensagem para o email, porem o codigo é desktop.

[code]package email;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

public class Email
{
public static void main(String[] args)
{
SimpleEmail email = new SimpleEmail();

    try 
    {
        email.setDebug(true);   
        email.setHostName("smtp.gmail.com");   
        email.setAuthentication("pedrorbz","123456");   
        email.setSSL(true);   
        email.addTo("pedrorbz@gmail.com"); 
        email.setFrom("teste@gmail.com"); 
        email.setSubject("Teste Email");   
        email.setMsg("testando..........");   
        email.send();   
    } catch (EmailException e) 
    {
        System.out.println(e.getMessage());   
    }   
}   

}
[/code]

Com o codigo acima eu consigo enviar o email com a mensagem, porem quando utilizo o codigo abaixo, utilizando servlet, nao é enviado o email.
Acredito que seja alguma configuracao que preciso fazer no glassfish.

O codigo da servlet segue abaixo, espero que alguem tenha curiosidade de testar e possa descobir o que falta.

Desde ja , muito obrigado a todos.

import java.io.*;   
import java.net.*;   
import java.util.logging.Level;   
import java.util.logging.Logger;   
import javax.servlet.*;   
import javax.servlet.http.*;   
import org.apache.commons.mail.*;   
  
/**  
*  
*/   
public class Email extends HttpServlet {   
     
    /**  
    * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.  
    * @param request servlet request  
    * @param response servlet response  
    */   
       
       
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)   
    throws ServletException, IOException ,MalformedURLException   
    {   
        response.setContentType("text/html;charset=UTF-8");   
        PrintWriter out = response.getWriter();   
        try   
        {   
            SimpleEmail email = new SimpleEmail();   
            email.setDebug(true);   
            email.setHostName("smtp.gmail.com");   
            email.setAuthentication("pedrorbz", "123456");   
            email.setSSL(true);   
            email.addTo("pedrorbz@gmail.com");   
            email.setSubject("teste email");   
            email.setMsg("testando..........");   
            email.send();   
               
        }   
        catch (EmailException ex) {   
            Logger.getLogger(ServiceLoginAuth.class.getName()).log(Level.SEVERE, null, ex.getStackTrace()+ex.getMessage());   
        } finally {   
            out.close();   
        }   
    }   
  
    // <editor-fold defaultstate="collapsed" desc="Métodos HttpServlet. Clique no sinal de + à esquerda para editar o código.">   
    /**  
    * Handles the HTTP <code>GET</code> method.  
    * @param request servlet request  
    * @param response servlet response  
    */   
    protected void doGet(HttpServletRequest request, HttpServletResponse response)   
    throws ServletException, IOException {   
        processRequest(request, response);   
    }   
  
    /**  
    * Handles the HTTP <code>POST</code> method.  
    * @param request servlet request  
    * @param response servlet response  
    */   
    protected void doPost(HttpServletRequest request, HttpServletResponse response)   
    throws ServletException, IOException {   
        processRequest(request, response);   
    }   
  
    /**  
    * Returns a short description of the servlet.  
    */   
    public String getServletInfo() {   
        return "Short description";   
    }   
    // </editor-fold>   
}  

http://www.guj.com.br/posts/list/60158.java
http://www.guj.com.br/posts/list/26045.java

Dica: Não é colocando o mesmo tópico em todos os fóruns que sua dúvida vai ser resolvida mais rápido, só vai fazer você ficar com fama de spammer.

Até!

Cara aqui eu usei duas libs: Activation.jar e mail.jar…

Segue as classes:

[code]
package exemplo;

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

public class Autenticacao extends Authenticator{
private String userName;
private String password;

public Autenticacao(String userName, String password) {
	this.userName = userName;
	this.password = password;
}

public PasswordAuthentication getPasswordAuthentication() {
      return new PasswordAuthentication(userName, password);
   }

}[/code]

package exemplo;

import java.io.UnsupportedEncodingException;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;


public class EnvioEmail {
	
	public EnvioEmail() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	public void enviaEmail(String data, String email, String receptor) throws UnsupportedEncodingException, MessagingException { 
		
		Properties p = new Properties();
		Authenticator auth = new Autenticacao("cpd@cpd.com.br", "123456");
		p.put("mail.smtp.auth", "true");
		p.put("mail.smtp.host", "10.30.20.10");
		p.put("mail.smtp.port", "25");
		
		Session mailsession = Session.getDefaultInstance(p, auth);
 		
 		MimeMessage msg = new MimeMessage(mailsession);
 	
 		msg.setFrom (new InternetAddress ("cpd@cpd.com.br", "CPD - Opinião")); 
		msg.addRecipient(Message.RecipientType.TO, new InternetAddress (email, receptor)); 
		msg.setSubject ("Confirmação do cadastro de opinião - "+data);
		 
		Multipart multipart = new MimeMultipart(); 
 
		MimeBodyPart messageBodyPart = new MimeBodyPart(); 
		
		messageBodyPart.setText("A sua opinião sobre os serviços oferecidos pelo CPD durante sua " +
				"passagem na instituição foi registrada em nosso Sistema de Gestão da Qualidade.\n" +
				"Obrigado por avaliar os nossos serviços." +
				"\n" +
				"\n" +
				"Escritório do CPD\n" +
				"CPD\n" +
				"CPD"); 
				
 
		multipart.addBodyPart(messageBodyPart);
		 
		msg.setContent(multipart);
 
		mailsession.setDebug(false); 
		
		Transport.send(msg); 

	}
}

E no servlet chama assim:

if(!email.equals("") && !alteracao){ new EnvioEmail().enviaEmail(Conversao.dateToString(Conversao.getDataAtual()), email, receptor); }

Nesse exemplo uma mensagem é enviada automaticamente o um cadastro de opiniao é cadastrada na minha Action…o principio é o mesmo basta vc fazer algumas alterações…