Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


dad:cabeceras_email

¡Esta es una revisión vieja del documento!


Como Obtener las cabeceras de los correos recibidos

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;

public class GmailImapExample {

    public static void main(String[] args) {
        final String username = "correo@gmail.com"; // Reemplaza con tu dirección de Gmail
        final String password = "Contraseña"; // Reemplaza con tu contraseña de Gmail
        String command = "";

        try (SSLSocket socket = (SSLSocket) SSLSocketFactory.getDefault().createSocket("imap.gmail.com", 993);
             
        		
        	BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
             PrintWriter writer = new PrintWriter(socket.getOutputStream(), true)) {

            // Imprime información del socket para verificar la conexión SSL
            System.out.println("Socket connected: " + socket.isConnected());
            System.out.println("Socket cipher suite: " + socket.getSession().getCipherSuite());

            // Lee la respuesta inicial del servidor
            String response = reader.readLine();
            System.out.println(response);

            // Envía el comando de inicio de sesión
            writer.println("a001 LOGIN " + username + " " + password);

            response = reader.readLine();
            System.out.println(response);

            // Envía el comando para listar los mensajes en el INBOX
            writer.println("a002 SELECT INBOX");

            response = reader.readLine();
            System.out.println(response);
            
            
            
            // Obtener los IDs de los mensajes------------------------------------------------------
            command = "a003 FETCH 1:* (BODY[HEADER.FIELDS (FROM SUBJECT DATE)])\r\n";
            writer.print(command);
            writer.flush();

            response = reader.readLine();
            while (response != null) {
                System.out.println(response);
                response = reader.readLine();
            }

            //Cerramos la conexión
            command = "a004 LOGOUT\r\n";
            writer.print(command);
            writer.flush();

            response = reader.readLine();
            System.out.println(response);
            
            


        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

dad/cabeceras_email.1698670019.txt.gz · Última modificación: 2023/10/30 12:46 por thejuanvisu