Foros del Web » Programación para mayores de 30 ;) » Java »

Adaptar java email a servlet

Estas en el tema de Adaptar java email a servlet en el foro de Java en Foros del Web. Buenas, este codigo me envia un email con adjuntos a una direccion fija, me gustaria modificarlo para pasarle la direccion del destinatario mediante formulario y ...
  #1 (permalink)  
Antiguo 11/05/2016, 14:45
 
Fecha de Ingreso: marzo-2016
Mensajes: 16
Antigüedad: 8 años, 1 mes
Puntos: 1
Adaptar java email a servlet

Buenas, este codigo me envia un email con adjuntos a una direccion fija, me gustaria modificarlo para pasarle la direccion del destinatario mediante formulario y servlet.
Que deberia modificar? He probado poniendo quitando el main y añadiendo un dopost pero no me funciona y me salen errores.

Código:
import javax.activation.DataHandler;  //para enviar imagen adjunta
import javax.activation.FileDataSource; //para enviar imagen adjunta
import java.util.Properties;
import javax.mail.*;
import javax.mail.BodyPart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart; //para enviar imagen adjunta
import javax.mail.internet.MimeBodyPart; //para enviar imagen adjunta
import javax.mail.Authenticator;
public class correo {
String
from_email = "xxxx",
password = "xxxx",
host = "smtp.gmail.com",
port = "465";
Properties props = new Properties();
public correo(){
props.put( "mail.smtp.user", from_email );
props.put( "mail.smtp.host", host );
props.put( "mail.smtp.port", port );
props.put( "mail.smtp.starttls,enable", "true" );
props.put( "mail.smtp.auth" , "true" );
props.put( "mail.smtp.socketFactory.class" ,"javax.net.ssl.SSLSocketFactory" );
props.put( "mail.smtp.socketFactory.fallback" , "false" );
}
public void sendEmail(String m_to, String m_subject, String m_text){
SecurityManager security = System.getSecurityManager();
try{
    Authenticator auth = new SMTPAuthenticator();
Session session = Session.getInstance(props,auth);
session.setDebug(true);
MimeMessage msg = new MimeMessage (session);
BodyPart texto = new MimeBodyPart();
texto.setText(m_text);
BodyPart adjunto = new MimeBodyPart();
adjunto.setDataHandler(new DataHandler(new FileDataSource("Datos.rar")));
adjunto.setFileName("Datos.rar");
MimeMultipart multiParte = new MimeMultipart();
multiParte.addBodyPart(texto);
multiParte.addBodyPart(adjunto);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from_email));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(m_to));
message.setSubject(m_subject);
message.setContent(multiParte);
Transport t = session.getTransport("smtp");
t.connect("","");
t.sendMessage(message,message.getAllRecipients());
t.close();
}catch(Exception exp){
exp.printStackTrace();
}
}
private class SMTPAuthenticator extends javax.mail.Authenticator
{
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(from_email, password);
}
}
public static void main( String arg[] ) {
correo mail = new correo();
mail.sendEmail("m_to", "m_subject", "m_text");
}
}
  #2 (permalink)  
Antiguo 11/05/2016, 15:16
 
Fecha de Ingreso: febrero-2016
Mensajes: 13
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Adaptar java email a servlet

podrias crear una tabla donde te almacene los destinarios en la bd y luego con un foreach podrias enviar los email a todos ellos

Etiquetas: form, servlet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:02.