Como enviar e-mails com JavaMail

De Wiki Locaweb
Ir para: navegação, pesquisa

Atenção. Antes de realizar qualquer envio, por favor siga nossas recomendações, dessa forma evitará problemas ao enviar suas mensagens.


ExemploMail.java

import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class ExemploMail extends HttpServlet {
 
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
 
PrintWriter out = res.getWriter();
res.setContentType("text/html");
try {
 
String to = req.getParameter("to");
 
String from = "teste@dominio.com.br";
 
Properties props = new Properties();
props.put("mail.smtp.host", "localhost");
Session session = Session.getInstance(props, null);
 
MimeMessage message = new MimeMessage(session);
 
message.setFrom(new InternetAddress(from));
Address toAddress = new InternetAddress(to);
message.addRecipient(Message.RecipientType.TO, toAddress);
 
message.setSubject("teste de envio de e-mails");
 
message.setContent("este eh um teste de envio", "text/plain");
 
Transport.send(message);
 
out.println("E-mail enviado");
}
catch (MessagingException e) {
out.println("Email nao pode ser enviado! " + e.getMessage());
}
}
}


  • Compile o código e acesse: http://www.dominio.com.br/teste/servlet/ExemploMail?to=meuemail@dominio.com.br


form.html

<html>
<head>
<title>Fale Conosco</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p style="margin-top: 0; margin-bottom: 0" align="justify">&nbsp;</p>
<table width="480" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#666666">
<tr>
<td bgcolor="#EEEEEE"></td>
</tr>
<tr>
<td></td>
</tr>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td bgcolor="#EEEEEE"><font face="Verdana" size="1" color="#000000">Fale conosco, envie dúvidas, críticas e sugestões!</font></td>
</tr>
</table><br>
<div align="center">
<table>
<tr>
<td>
<form method="post" action="envia.jsp">
<p><font face="Verdana" size="1" color="#000000">Nome:</font><br>
<input type="text" name="nome" maxlength="30" size="35"><br>
 
<font face="Verdana" size="1" color="#000000">Seu email:</font><br>
<input type="text" name="de" maxlength="30" size="35">
<br>
<font face="Verdana" size="1" color="#000000">Assunto:</font><br>
<input type="text" name="assunto" size="35" maxlength="30">
<br>
<font face="Verdana" size="1" color="#000000">Mensagem:</font><br>
<textarea name="comenta" cols="34" rows="6"></textarea>
</p>
<p>
<input type="submit" name="Submit" value="Enviar">&nbsp;&nbsp;
<input type="reset" name="Submit2" value="Limpar">
</p>
</form>
</td>
</tr>
</table>
</div><br>
<table width="480" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#666666">
<td>
<font face="Verdana" size="1" color="#000000">Empresa XXX!</font>
</td>
<tr>
<td bgcolor="#EEEEEE"></td>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
</tr>
<p>
</table>
</body>
</html>



envia.jsp

<%@ page import = "java.util.Properties, javax.mail.*, javax.mail.internet.*, javax.activation.*, java.io.*, javax.servlet.*, javax.servlet.http.*" %>
<%
try {
 
String to = "email@seudominio.com.br";
String from = request.getParameter("de");
 
Properties props = new Properties();
props.put("mail.smtp.host", "localhost");
 
Session sessao = Session.getInstance(props);
sessao.setDebug(true);
 
MimeMessage message = new MimeMessage(sessao);
 
message.setFrom(new InternetAddress(from));
Address toAddress = new InternetAddress(to);
message.addRecipient(Message.RecipientType.TO, toAddress);
 
message.setSubject(request.getParameter("assunto"));
message.setText(request.getParameter("comenta"));
 
Transport.send(message);
out.println("<br><br><br>");
out.println("<html>");
out.println("<div align=center>");
out.println("<body>");
out.println("Sua mensagem foi enviada com sucesso.<p>Em breve responderemos, Obrigado!");
out.println("</body>");
out.println("</html>");
}
catch (MessagingException e) {
out.println("Email nao pode ser enviado! Verifique se preencheu os campos corretamente! " + e.getMessage());
}
%>


Observação: O código de programação mencionado neste Wiki é uma sugestão. Contamos com sua compreensão para o fato de que a Locaweb não pode se responsabilizar por apresentar mais detalhes a respeito de sua implementação e utilização. Para mais informações, sugerimos que entre em contato com o seu desenvolvedor, pois tal conhecimento é aberto e de domínio de profissionais técnicos. Caso queira entrar em contato conosco a respeito deste tema, visite o nosso Atendimento.

Veja também


Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Ferramentas
Criar um livro