hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
19 de Noviembre de 2008, 02:35:16
Noticias: Reporte de temas
Para ver este enlace Registrate o Inicia Sesion
> Aqui

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  JAVA
| | |-+  Código Abierto Java (Moderador: kamui23)
| | | |-+  Automatización de envío de correos
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Automatización de envío de correos  (Leído 140 veces)
kamui23
Moderador
*****
Conectado Conectado

Mensajes: 953



Ver Perfil
« : 29 de Agosto de 2008, 07:19:24 »

Un programa para automatizar los envíos de correos de mas de 10 megas, tan molestos que nos obligan a estar delante del ordenador durante un rato enviando cada parte.


public void enviarCorreo(String nombre, int i)
   {
      try
      {
      Properties props = new Properties();
      props.put("mail.smtp.host", "smtp.gmail.com");
      props.setProperty("mail.smtp.star ttls.enable", "true");
      props.setProperty("mail.smtp.port","587");
      props.setProperty("mail.smtp.user", "XXXXXXXx@gmail.com");
      props.setProperty("mail.smtp.auth", "true");
      Session session = Session.getDef aultInstance(props, null);
      session.setDebug(true);
      MimeMessage message = new MimeMessage(session);
      BodyPart texto = new MimeBodyPart();
      // Quien envia el correo
      
         message.setFrom(new InternetAddres s("Remitente"));

         // A quien va dirigido
         message.addRecipient(Message.Recipi entType.TO, new InternetAddres s("Destino"));
   
         texto.setText("Aquí lo tienes.");
         BodyPart adjunto = new MimeBodyPart();

         // Cargamos la imagen
         StringBuffer sbuf=new StringBuffer("C:/pruebas/chistes.part");
         sbuf.append(nombre);
         adjunto.setDataHandler(new DataHandler(new FileDataSource(new String(sbuf))));

         // Opcional. De esta forma transmitimos al receptor el nombre original del
         // fichero de imagen.
         adjunto.setFileName(nombre);
         
         MimeMultipart multiParte = new MimeMultipart();
         multiParte.addBodyPart(texto);
         multiParte.addBodyPart(adjunto);
         
         message.setSubject("Asunto");
         message.setContent(multiParte);
         Transport t = session.getTra nsport("smtp");
         t.connect("pepe@pepe.com","PASSWORD");
         t.sendMessage(message,message.getAllRecipients());
         
         t.close();
      }
      catch (MessagingExcep tion eme)
      {
         eme.printStackTrace();
      }
      
   }
   /**
    * Clase para meter los ficheros de salida y sus streams
    * @author Marius
    *
    */
   public class ObjetoCopia
   {
      FileOutputStream fileout;
      BufferedOutputStream bufferedout;
      
      public ObjetoCopia(FileOutputStre am fileout,BufferedOutputStream bufferedout)
      {
         this.fileout=fileout;
         this.bufferedout=bufferedout;
      }
   }
   
   public static void main (String args[] )
   {
      Interfaz fax=new Interfaz();
      StringBuffer sbuf=new StringBuffer();
      for (int i=1;i<=11;i++)
      {
         if (i>9)
         {
            sbuf.append(i);
            sbuf.append(".rar");
         }
         else
         {
            sbuf.append("0");
            sbuf.append(i);
            sbuf.append(".rar");
         }
         
         fax.enviarCorreo(new String(sbuf),i);
         sbuf=new StringBuffer();
      }
      
      
   }

No se olviden de configurar adecuadamente los puertos para su servidor. En mi caso, configuré gmail.

Saludos.
« Última modificación: 29 de Agosto de 2008, 07:54:05 por kamui23 » En línea

Busco una meta: conseguir lo que nadie ha conseguido. Y hacerlo en la mitad de tiempo.


No respondo preguntas por mensaje privado. para dudas, escribid en el foro, por favor.
-Plaga-
NZ2
**
Desconectado Desconectado

Mensajes: 286


Ver Perfil
« Respuesta #1 : 29 de Agosto de 2008, 08:40:11 »

kamui23, si funciona correctamente, porque yo una vez estuve haciendo algo así, trabajando para enviar mails y me lanzaba error porque necesitaba permisos de gmail para enviar correos de su servidor. Es decir, la aplicación era correcta, pero, necesitaba los permisos.
En línea
kamui23
Moderador
*****
Conectado Conectado

Mensajes: 953



Ver Perfil
« Respuesta #2 : 29 de Agosto de 2008, 10:23:48 »

Funciona a la perfección, lo he probado insistentement e en la empresa donde trabajo.
Por supuesto, debes antes partir el fichero con winrar o alguno parecido y pasarle el nombre al programa jugando con las stringbuffers, para que los coja. no tiene interfaz gráfica, para que funcione, pon el código en el eclipse y ejecútalo. No es un .jar porque para el uso que le daba en la empresa, no lo necesitaba.
En línea

Busco una meta: conseguir lo que nadie ha conseguido. Y hacerlo en la mitad de tiempo.


No respondo preguntas por mensaje privado. para dudas, escribid en el foro, por favor.
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online