COmo enviar email via jsp ou servlet?

Pessoal preciso enviar um email, com os dados vindos de um bean.

Veja este artigo:

http://www.guj.com.br/java.tutorial.artigo.21.1.guj

Rafael

Ok. eu ja vi este tutorial.
Mas eu preciso enviar um email com autenticação.
Tipo tem q conectar no servidor checar login e senha e dai enviar a mensagem. Aquele modelo nao é assim.
Alguem ai sabe como fazer isto?

http://www.guj.com.br/posts/list/28207.java

:shock: nAo entendi muito bem.
O meu codigo é este:
é assim q estou tentando enviar esta acontecendo o mesmo problema seu caro colega.
Mas eu nao consegui entender muito bem como montar esta classe.

import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*; 
import javax.activation.*;

class Autenticador extends Authenticator {

  public PasswordAuthentication getPasswordAuthentication() {
    String username, password;
	username = "user";	
	password = "senha";

    return new PasswordAuthentication(username, password);
  }
}

public class TesteEmail{
	public static void main(String args[]){
		Properties p = new Properties();
		p.put("mail.host", "SMTPhost");
		
//		Session session = Session.getInstance(p, null);

		Authenticator auth = new Autenticador ();
		Session session = Session.getDefaultInstance(p, auth);
		MimeMessage msg = new MimeMessage(session);

	
		try {
		    // "de" e "para"!!
		    msg.setFrom(new InternetAddress("emailTo"));
		    msg.setRecipient(Message.RecipientType.TO, new InternetAddress("emailFrom"));

		    msg.setSubject("SSIm");
		
		    msg.setText("corpo da mensagem");
		
		    Transport.send(msg);
		}
		catch (AddressException e) {
		    System.out.println("erro1");
		}
		catch (MessagingException e) {
		    e.printStackTrace();
		    System.out.println("erro2");
		}
	}
}

Não use a propriedade mail.host use mail.smtp.host
e faltou inserir a propriedade mail.smtp.auth

Properties props = new Properties(); props.put("mail.smtp.host", servidor); props.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props, new Autenticador());
isso seria suficente para verificar se a autenticação esta acontecendo.

Esta variavel servidor é uma String?
eu posso colocar este codigo numa jsp?

A variavel servidor é uma string.
Sim, vc pode por em um JSP.

E como ficaria o cod na jsp?

dentro de tags de declaração no jsp fica igualzinho…

[]'s

Com a declaracao de classas? Ja tentei colocar o cod dentro de uma diretiva jsp e nao deu certo.

Olha so tem um problema, as vezes da este erro:

java.lang.SecurityException: Access to default session denied
	at javax.mail.Session.getDefaultInstance(Session.java:292)
	at com.br.util.EnvMail.enviar(EnvMail.java:22)
	at servlets.adm.ServAdm.doGet(ServAdm.java:312)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:696)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	at java.lang.Thread.run(Unknown Source)

e ai galera alguma ideia do que pode ser este erro?
sera q falta algum import ou coisa do tipo? ( … o erro da quando eu uso num classe)
olha meus imports.

import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*; 
import javax.activation.*;

Alguma ideia?