<html>
<body>
<%@ page import="crytech.email.Email"%>
<%@ page import="javax.mail.internet.AddressException"%>
<%@ page import="javax.mail.MessagingException"%>
<jsp:useBean id="email" scope="session" class="crytech.email.Email"/>
<%
try {
String mailServer = "smtp.gmail.com";
String assunto = request.getParameter("assunto");
String para = request.getParameter("selecao");
String de = request.getParameter("email");
String mensagem = request.getParameter("texto");
email.sendSimpleMail(mailServer, assunto, para, de, mensagem);
%>
<p>Email enviado com Sucesso !!!</p>
<%
}
catch (AddressException e) {
%>
<p>Endereço de Email inválido</p>
<%
}
catch (MessagingException e) {
%>
<p>Impossível enviar o email.</p>
<%}%>
</body>
</html>
Java Mail API
U
Pessoal, estou tentando utilizar a Java Mail API para enviar e-mails através do meu site. Porém não estou muito familiarizado com isso. a página a seguir é a minha enviar.jsp e sempre dá o erro "Impossivel enviar e-mail". Alguém pode me ajudar com esse problema? (Se entendi bem é um problema com o mailServer).
2 Respostas
se não me engano vc tem q setar que o servidor usa SSL… pra o gmail precisa
U
public void sendMessage(String recipients[], String subject, String message, String from)
throws MessagingException
{
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
//com essa flag aqui ele imprimira todos os dados da conexão e do envio,
//setar isso para false se quiser que rode no silent mode.
boolean debug = false;
Properties props = new Properties();
props.put("mail.smtp.host", "seuservidorsmtp");
props.put("mail.smtp.auth", "true");
props.put("mail.debug", "false");
props.put("mail.smtp.port", porta);
props.put("mail.smtp.socketFactory.port", porta);
props.put("mail.smtp.socketFactory.fallback", "false");
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator()
{
//Aqui o authenticator, poderia ser uma classe separada também:
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("seuemail", "suasenha");
}});
session.setDebug(debug);
Message msg = new MimeMessage(session);
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++)
{
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
// Setting the Subject and Content Type
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}
Criado 23 de abril de 2009
Ultima resposta 23 de abr. de 2009
Respostas 2
Participantes 2