MintDex [Java Mail] src|bin

Iniciado por Leyer, 28 Enero 2010, 17:11 PM

0 Miembros y 1 Visitante están viendo este tema.

Blitzkrieg'

En realidad si se puede, hace poco vi un code, es cuestion de Googlear un rato...



kinos

por favor, si ves algo lo puedes incluir por aquí? o en un nuevo post.
Es que hace tiempo estuve buscando también y no encontré nada.
De todas formas... si mandas emails masivos desde una cuenta tipo gmail o hotmail sería más difícil de identificar como spam que si lo haces sin dichas cuentas no?

Leyer

Bueno ddk si lo viste seria bueno que lo mostraras por aqui.

Salu2

Blitzkrieg'

Código (java) [Seleccionar]
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/*
*  JavaMailSamples.java
*
* Created on 20/06/2009, 05:43:08 AM
*/

/**
*
* @author |Np|
*/

import java.security. Security;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;

public class JavaMailSamples
{
    public static void main(String[] args) throws MessagingException
    {
//        for(int i =0; i< 10; i++)
            SendAuthentication.Send();
    }
}


class SendAuthentication
{
    private static MimeMultipart multiParte = new MimeMultipart();
    public static void Send() throws MessagingException
    {
//        String host ="smtp.gmail.com";   String puerto="587"; String pass="Clave Pass"; //465
//        String from ="remitente@gmail.com";   String to =  "destino@jotmeil.com"; String user="remitente"; //remitente - destinatario";  en GMAIL

//        String host ="smtp.gawab.com";   String puerto="587"; String pass="Clave Pass"; //587
//        String from ="remitente@gawab.com";   String to =  "destino@jotmeil.com"; String user="remitente@gawab.com";//remitente - destinatario";  GAWAB

        String host ="smtp.live.com";   String puerto="587"; String pass="Calve Pass"; //587
        String from ="remitente@jotmeil.com"; String to =  "destino@jotmeil.com"; String user="remitente@jotmeil.com";//remitente - destinatario";

       String asunto="sin asunto2"; String nombre="sin nombre";

        System.out.println ("Prueba para enviar un mail..." + new java.util.Date());

        Properties prop = new Properties();
        prop.put("mail.smtp.host", host);

        /*Esta línea es la que indica al API que debe autenticarse*/
        prop.put("mail.smtp.auth", "true");
        prop.put("mail.transport .protocol","smtp");

        /*Añadir esta linea si queremos ver una salida detallada del programa*/
        prop.put("mail.debug", "true");

        Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
        prop.put("mail.smtp.sock etFactory.clas s","javax.net.ssl. SSLSocketFacto ry");
   prop.put("mail.smtp.sock etFactory.fall back", "false");
   prop.setProperty("mail.smtp.quit wait", "false");
        prop.put("mail.smtp.starttls.enable","true"); // aki estaba el error

        prop.put("mail.smtp.ssl. enable","true");
        prop.put("mail.smtp.port", puerto);
   prop.put("mail.smtp.sock etFactory.port ", puerto);

//DATOS ADJUNTOS
   BodyPart texto = new MimeBodyPart();
// Texto del mensaje
texto.setText("El mail desde java. Este mensaje a utilizado autenticacion en el servidor.");


   BodyPart adjunto = new MimeBodyPart();
///WINDOWS
//adjunto.setDataHandler(new DataHandler(new FileDataSource("c://futbol.gif")));
//LINUX
adjunto.setDataHandler(new DataHandler(new FileDataSource("//home//Usuario//Escritorio//Archivo")));  // archivo debe estar con su extensión
adjunto.setFileName("Archivo"); //el nombre que saldra en el adjunto

multiParte.addBodyPart(texto);
multiParte.addBodyPart(adjunto);

        try{

            SMTPAuthentication auth = new SMTPAuthentication(user,pass);
            Session session = Session.getInstance(prop , auth );
            Message msg = getMessage(session, from, to, nombre);
            msg.setSubject(asunto);

            System.out.println ("Enviando ..." );
            Transport.send(msg);
            System.out.println ("Mensaje enviado!");
        }
        catch (Exception e)
        {
            ExceptionManager.ManageException(e);
        }
    }

    private static MimeMessage getMessage(Session session, String from, String to, String nombre)
    {
        try{
            MimeMessage msg = new MimeMessage(session);
//            msg.setText("El mail desde java. Este mensaje a utilizado autenticacion en el servidor.");
            msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// COMO MAIL ANONIMO jijiij yeah
            msg.setFrom(new InternetAddress("presidente@EUA.com",nombre));
            msg.setContent(multiParte);
//CON TU NOMBRE MAIL ORIGINAL
//            msg.setFrom(new InternetAddress(from,nombre));
            return msg;
        }
        catch (java.io.UnsupportedEncodingException ex)
        {
            ExceptionManager.ManageException(ex);
            return null;
        }
        catch (MessagingException ex)
        {
            ExceptionManager.ManageException(ex);
            return null;
        }
    }
}
class SMTPAuthentication extends javax.mail.Authenticator
{
    String username;
    String password;
    public SMTPAuthentication(String user,String pass){
        username = user;//"nombre_de_usua rio";
        password = pass;//"clave";
    }
    @Override
    public PasswordAuthentication getPasswordAuthentication()
    {
        return new PasswordAuthentication(username, password);

    }
}

class ExceptionManager
{
    public static void ManageException (Exception e)
    {
        System.out.println ("Se ha producido una exception");
        System.out.println (e.getMessage());
        e.printStackTrace(System.out);
    }
}


Lo vi en otra web... Espero les sirva.



Leyer

si ese es el de Np ya lo habia probaado pero al parecer no es anonimo bueno segun ya que yo lo probe y solo oculta tu correo pero cuando le das responder a ese mensaje se vera tu lindo correo hay :xD  a no ser que me equiboque al probarlo