elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Clase para enviar Correo desde Java [by BadDevil]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Clase para enviar Correo desde Java [by BadDevil]  (Leído 11,919 veces)
Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Clase para enviar Correo desde Java [by BadDevil]
« en: 29 Julio 2009, 05:45 am »

Clase creada para enviar correos anonimos , con soporte html
cada uno puede usarlo para lo que quiera... para usar esa clase debe tener la libreria javamail googleando la encontraran altiro , espero que les sirva , saludos , tambien la pueden arreglar seguro tienen sus errores por ahi , pero funciona a la perfeccion.
Código
  1. /*
  2.  
  3.  * Autor: BadDevil
  4.  * Fecha: 21/07/2009 18:14
  5.  */
  6.  
  7. package Mail;
  8. import java.util.Properties;
  9.  
  10. import javax.mail.Message;
  11. import javax.mail.Session;
  12. import javax.mail.Transport;
  13. import javax.mail.internet.InternetAddress;
  14. import javax.mail.internet.MimeMessage;
  15. import javax.swing.JOptionPane;
  16.  
  17.  
  18.  
  19. public class Mail
  20. {
  21.    private String host;
  22.    private String usuario;
  23.    private String password;
  24.    private String puerto;
  25.    private String auth; //boolean
  26.    private String conexionSegura; // boolean
  27.    private String CorreoVictima;
  28.    private String CorreoFalso;
  29.    private String nombreFalso;
  30.    private String mensaje;
  31.    private String asunto;
  32.    public Mail()// constructor sin parametros
  33.    {
  34.    }
  35. // constructor con todos los parametros
  36.    public Mail(String host, String usuario, String password, String puerto, String auth, String conexionSegura, String CorreoVictima, String CorreoFalso, String nombreFalso, String mensaje,String asunto) {
  37.        this.host = host;
  38.        this.usuario = usuario;
  39.        this.password = password;
  40.        this.puerto = puerto;
  41.        this.auth = auth;
  42.        this.conexionSegura = conexionSegura;
  43.        this.CorreoVictima = CorreoVictima;
  44.        this.CorreoFalso = CorreoFalso;
  45.        this.nombreFalso = nombreFalso;
  46.        this.mensaje = mensaje;
  47.        this.asunto = asunto;
  48.  
  49.    }
  50. // constructor sin el nombre falso
  51.    public Mail(String host, String usuario, String password, String puerto, String auth, String conexionSegura, String CorreoVictima, String CorreoFalso, String mensaje,String asunto) {
  52.        this.host = host;
  53.        this.usuario = usuario;
  54.        this.password = password;
  55.        this.puerto = puerto;
  56.        this.auth = auth;
  57.        this.conexionSegura = conexionSegura;
  58.        this.CorreoVictima = CorreoVictima;
  59.        this.CorreoFalso = CorreoFalso;
  60.        this.mensaje = mensaje;
  61.        this.asunto = asunto;
  62.    }
  63. // constructor sin el correo y el nombre falso
  64.    public Mail(String host, String usuario, String password, String puerto, String auth, String conexionSegura, String CorreoVictima, String mensaje,String asunto) {
  65.        this.host = host;
  66.        this.usuario = usuario;
  67.        this.password = password;
  68.        this.puerto = puerto;
  69.        this.auth = auth;
  70.        this.conexionSegura = conexionSegura;
  71.        this.CorreoVictima = CorreoVictima;
  72.        this.mensaje = mensaje;
  73.        this.asunto = asunto;
  74.    }
  75.    public String getAsunto()
  76.    {
  77.        return asunto;
  78.    }
  79.    public void enviarMensaje()
  80.    {
  81.         try
  82.        {
  83.            // Propiedades de la conexión
  84.            Properties props = new Properties();
  85.            props.setProperty("mail.smtp.host",""+ getHost()); // host del server
  86.            props.setProperty("mail.smtp.starttls.enable",""+ getConexionSegura());//seguridad?
  87.            props.setProperty("mail.smtp.port", ""+getPuerto());// puerto en mi caso 25
  88.            props.setProperty("mail.smtp.user",""+ getUsuario());//cualquier cosa
  89.            props.setProperty("mail.smtp.auth", getAuth());//no necesita identifiacion
  90.  
  91.            // Preparamos la sesion
  92.            Session session = Session.getDefaultInstance(props);
  93.            // Construimos el mensaje
  94.            MimeMessage message = new MimeMessage(session);
  95.            message.setFrom(new InternetAddress(""+getCorreoFalso()));
  96.  
  97.            message.addRecipient(
  98.                Message.RecipientType.TO,
  99.                new InternetAddress(""+getCorreoVictima()));
  100.            message.setSubject(""+getAsunto());
  101.           // message.setContent(""+getMensaje(),"text/ht ");
  102.                     message.setHeader("text/html","charset=iso-8859-1");
  103.            message.setContent(getMensaje(),"text/html; charset=iso-8859-1");
  104.  
  105.            // Lo enviamos.
  106.            Transport t = session.getTransport("smtp");
  107.          //  t.connect("127.0.0.1", null, null);
  108.           // t.connect("localhost",null,null);
  109.            t.connect(""+getUsuario(),""+getPassword());
  110.         //   for(int i=0;i<5;i++){
  111.            t.sendMessage(message,message.getAllRecipients());//funciona con ciclos
  112.               JOptionPane.showMessageDialog(null, "¡Enviado Correctamente a "+getCorreoVictima()+" !");
  113.         //   }
  114.            // Cierre.
  115.            t.close();
  116.        }
  117.        catch (Exception e)
  118.        {
  119.            e.printStackTrace();
  120.           // e.getMessage();
  121.           JOptionPane.showMessageDialog(null, "Error ... "+ e.getMessage());
  122.        }
  123.    }
  124.  
  125.    public String getCorreoFalso() {
  126.        return CorreoFalso;
  127.    }
  128.  
  129.    public void setCorreoFalso(String CorreoFalso) {
  130.        this.CorreoFalso = CorreoFalso;
  131.    }
  132.  
  133.    public String getCorreoVictima() {
  134.        return CorreoVictima;
  135.    }
  136.  
  137.    public void setCorreoVictima(String CorreoVictima) {
  138.        this.CorreoVictima = CorreoVictima;
  139.    }
  140.  
  141.    public String getAuth() {
  142.        return auth;
  143.    }
  144.  
  145.    public void setAuth(String auth) {
  146.        this.auth = auth;
  147.    }
  148.  
  149.    public String getConexionSegura() {
  150.        return conexionSegura;
  151.    }
  152.  
  153.    public void setConexionSegura(String conexionSegura) {
  154.        this.conexionSegura = conexionSegura;
  155.    }
  156.  
  157.    public String getHost() {
  158.        return host;
  159.    }
  160.  
  161.    public void setHost(String host) {
  162.        this.host = host;
  163.    }
  164.  
  165.    public String getMensaje() {
  166.        return mensaje;
  167.    }
  168.  
  169.    public void setMensaje(String mensaje) {
  170.        this.mensaje = mensaje;
  171.    }
  172.  
  173.    public String getNombreFalso() {
  174.        return nombreFalso;
  175.    }
  176.  
  177.    public void setNombreFalso(String nombreFalso) {
  178.        this.nombreFalso = nombreFalso;
  179.    }
  180.  
  181.    public String getPassword() {
  182.        return password;
  183.    }
  184.  
  185.    public void setPassword(String password) {
  186.        this.password = password;
  187.    }
  188.  
  189.    public String getPuerto() {
  190.        return puerto;
  191.    }
  192.  
  193.    public void setPuerto(String puerto) {
  194.        this.puerto = puerto;
  195.    }
  196.  
  197.    public String getUsuario() {
  198.        return usuario;
  199.    }
  200.  
  201.    public void setUsuario(String usuario) {
  202.        this.usuario = usuario;
  203.    }
  204.  
  205.  
  206. }
  207.  



En línea

Amerikano|Cls


Desconectado Desconectado

Mensajes: 789


[Beyond This Life]


Ver Perfil WWW
Re: Clase para enviar Correo desde Java [by BadDevil]
« Respuesta #1 en: 29 Julio 2009, 05:49 am »

Gracias por el aporte, la tendre en cuenta cuando estudie estos temas de JavaMail  ;-) ;-)

Salu2


En línea





Mi blog:
http://amerikanocls.blogspot.com
-Gosw-

Desconectado Desconectado

Mensajes: 207

Ing. Electrónico


Ver Perfil WWW
Re: Clase para enviar Correo desde Java [by BadDevil]
« Respuesta #2 en: 29 Julio 2009, 06:03 am »

Se agradece... Puede ser bueno para hacer un bomber de mails... Si tengo fastidio... xDD
En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Clase para enviar Correo desde Java [by BadDevil]
« Respuesta #3 en: 29 Julio 2009, 06:07 am »

Se agradece... Puede ser bueno para hacer un bomber de mails... Si tengo fastidio... xDD

Es cosa de creatividad jajajaj (lo del bomber es un simple ciclo =P)
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Clase para enviar Correo desde Java [by BadDevil]
« Respuesta #4 en: 29 Julio 2009, 06:08 am »

cabe mencionar que requiere j2ee :P
En línea

Ojo por ojo, y el mundo acabará ciego.
Danther

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: Clase para enviar Correo desde Java [by BadDevil]
« Respuesta #5 en: 30 Julio 2009, 15:56 pm »

Espero que no os importe que lo pregunte aqui, pero el otro el otro dia me puse a aprender el uso de java para envios de email usando esta clase como base.

Lo corri en Netbeans y probe usando el servidor smtp de gmail y de hotmail con mis cuentas.
Todo bien.

El problema viene cuando lo intento usar con un servidor smtp corriendo en mi propia maquina (en este caso argosoft, una version antigua de 2006, pero que no es de pago...)
Me coge el mensage, pero a la hora de enviarlo falla porque se queda en:
ERROR: Timed out when waiting for data

Tengo el relay configurado con un servidor dns cualquiera, que es lo que lei por ahi que hiciera
T.T No se si es que me falta algo, o es que gmail / hotmail no recibe este tipo de mensajes
« Última modificación: 30 Julio 2009, 16:47 pm por Danther » En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Clase para enviar Correo desde Java [by BadDevil]
« Respuesta #6 en: 30 Julio 2009, 18:52 pm »

A mi me paso lo mismo solo que otro mensaje de error.... y el servidor en smtp localhost me tiro el problema intenta con otro servidor smtp localhost
En línea

Danther

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: Clase para enviar Correo desde Java [by BadDevil]
« Respuesta #7 en: 31 Julio 2009, 17:24 pm »

Voy a ver si me instalo en el otro disco duro que tengo debian (actualmente uso windows ._.) y pruebo con el servidor smtp que trae

De todas formas segun he leido por ahi, el problema mas bien radica en la serie de filtros de spam que hotmail / gmail / yahooo etc usan
Cosas como el PBL, los sistemas de puntos etc
Que o tienes un dominio de correo de verdad, o nada de nada ._.

En fin...
En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Clase para enviar Correo desde Java [by BadDevil]
« Respuesta #8 en: 31 Julio 2009, 17:40 pm »

Voy a ver si me instalo en el otro disco duro que tengo debian (actualmente uso windows ._.) y pruebo con el servidor smtp que trae

De todas formas segun he leido por ahi, el problema mas bien radica en la serie de filtros de spam que hotmail / gmail / yahooo etc usan
Cosas como el PBL, los sistemas de puntos etc
Que o tienes un dominio de correo de verdad, o nada de nada ._.

En fin...

nada que ver por que yo estoy usando un servidor smtp externo (no es gmail , ni hotmail ni nada conocido) y me funciona a la perfeccion  ;)
En línea

Danther

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: Clase para enviar Correo desde Java [by BadDevil]
« Respuesta #9 en: 31 Julio 2009, 17:51 pm »

Un servidor smtp externo que este bien configurado no deberia tener ningun problema
La cosa es que un servidor local corriendo bajo una ip normal y corriente tiene todas las papeletas para que ni te contesten (tambien depende de la seguridad de a quien se lo envies claro...)

Yo de todas formas me contento con usar tu clase (¡Gracias! ^^) con el smtp de hotmail, que a diferencia del de gmail no te remodifica el remitente y para el caso hace el apaño XD
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Enviar correo desde batch
Scripting
FJPPitta 2 18,816 Último mensaje 23 Marzo 2013, 22:51 pm
por Eleкtro
Ayuda con esta clase en Java de Ficheros
Java
KeyPy HH 1 2,377 Último mensaje 8 Mayo 2012, 14:31 pm
por ELMED
Enviar emails desde correo falso
Mensajería
RistoMejode 1 4,178 Último mensaje 23 Diciembre 2012, 03:23 am
por Last_
como enviar un correo desde c++ (sockets y winsocks)?? ...
Programación C/C++
fabian7593 5 5,060 Último mensaje 26 Septiembre 2013, 09:10 am
por eferion
Clase o modulo para enviar correo gmail/hotmail/yahoo « 1 2 »
.NET (C#, VB.NET, ASP)
**Aincrad** 11 6,698 Último mensaje 11 Febrero 2018, 23:15 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines