Servlet p/ envio de e-mails

2 respostas
C

Pessoal tô com um problema que num sei como resolver!!!

Estou desenvolvendo um servlet que envia e-mails para usuários, só que eu coloco o método que de fato envia o e-mail dentro do método doGet mas como o método sendMail que construi lança a exceção MessagingException eu tinha que colocar o método doGet do servlet para também lançar esta exceção…mas quando faço isso ocorre um erro pois esse doGet não pode lançar tal exceção…alguém tem uma idéia para o meu problema???Desde já agradeço a atenção.

Clodoaldo Júnior

2 Respostas

Rafael_Steil

Coloque o codigo dentro de um bloco try-catch …

try {
     // codigo que envia email
}
catch (Exception e) {
    // faca o tratamento de erro aqui
}

Rafael

C
Valeu pela idéia mas quando vou executar a classe aparece a seguinte mensagem: java.lang.NoClassDefFoundError:com/sun/mail/util/SharedByteArrayInputStream at Sendmail.sendMail(Sendmail.java:32) at Sendmail.main(Sendmail.java:15) Exception in thread "main"
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;

public class Sendmail {
		
	public static void main (String args[])
	{
	    String destino = "[email removido]"; 	
		String messagem = "teste";
	    try {
			sendMail(destino,messagem);
		}
		catch (MessagingException e) {
			System.out.println("Erro: "+ e);
		}
		
	}

	public static void sendMail(String to, String msg) throws MessagingException
	{
	      //Seta o endereço do host smtp 
		  Properties props = new Properties();
		  props.put("mail.smtp.host", "smtp.ig.com.br"); //servidor smtp do ig pra testar
		  
		  Session session = Session.getInstance(props, null);
		  
		  //Cria um nova mensagem
		  Message email = new MimeMessage(session);
	   
		  try
		  {
		     InternetAddress from = new InternetAddress("[email removido]");
		  	 email.setFrom(from);
		     email.setRecipient(Message.RecipientType.TO,new InternetAddress(to)); 
		     email.setSentDate(new Date());
		     email.setSubject("Cadastro !!!");
		     email.setText(msg);
	         
		     Transport.send(email);
		  }
		  catch (AddressException e) {
		    System.out.println("Erro no endereço de e-mail do destinatário");
		  }
		  catch (MessagingException e) {
		    System.out.println("Erro no envio da mensagem!!!");
		  }     
	   }//fim sendMail
}
[/quote]
Criado 30 de outubro de 2004
Ultima resposta 30 de out. de 2004
Respostas 2
Participantes 2