Diferencia entre revisiones de «JMAIL»

Sacado de cristobal.wiki, presentado sin garantia y con mucho <3.
Ir a la navegaciónIr a la búsqueda
Sin resumen de edición
Línea 45: Línea 45:
  SAYONARA (Se ha cerrado la conexion)
  SAYONARA (Se ha cerrado la conexion)
Esto puede ser una de 3 frases. Te dejo que las descubras por tu cuenta.
Esto puede ser una de 3 frases. Te dejo que las descubras por tu cuenta.
==== Enviando archivos ====
Puedes enviar archivos adjuntando un nuevo par de claves JSON, donde el archivo esta formateado como Base64, tal que:
(Todo lo anterior)
"Adjunto1" : "HWN1O27TDJ29SYH1PS6T2VO86FQVhq9Fwn19aJQ96j..."


=== Leyendo los JMAILS ===
=== Leyendo los JMAILS ===

Revisión del 21:54 28 dic 2025

ADVERTENCIA: "mail" como tal es un estandar ARCAICO, por esto, User:JP ha decidido hacer su propio servidor de "mail" simple, JMAIL", que esta en GitHub.


"mail" es una forma de comunicarse entre maquinas UNIX, para este proyecto JP ha creado su propio servidor de mail: JMAIL, un servidor super simple escrito en Python que recibe Emails por JSON.

Estrucutra de un JMAIL

JMAIL recibe emails en JSON, la estructura simple que debe seguir es:

{ 
    "MAIL": { 
        "PARA": "(usuario del sistema)", 
        "DE": "(Quien envia el 'correo')", 
        "ASUNTO": "(El asunto)", 
        "CUERPO": "(El resto del texto)" 
    } 
}
HASTALAVISTABABY

Esto se envia directamente al puerto de JMAIL (Por defecto 42069). Se puede hacer de la siguiente manera:

nc (IP) (Puerto) < ejemplo.json

Lo cual enviaria los datos del archivo "ejemplo.json" a la maquina (IP), al puerto (Puerto).

Incluso si un JMAIL esta malformado, o no es JSON, acaba llegando a la carpeta "perdidos" con su contenido intacto.

Enviando un JMAIL

Un ejemplo de un JMAIL **bien** formado.

Por defecto JMAIL va a escuchar en el puerto 42069, si esto se cambia, debes tenerlo en cuenta.

Puedes enviar JMAILs con herramientas estandar para conectarse a un socket. Como el ejemplo anterior de NetCat (nc), o alternativamente puedes usar el script de "enviarcorreo". Es un script interactivo que te pide la informacion necesaria para enviar JMAILs. (Este es mas recomendable ya que guarda el JMAIL en caso de que no se envie correctamente)

La conexion al puerto

Cuando te conectas al puerto, por ejemplo, usando netcat como:

nc SQUID-DEBIAN.local 42069

Lo que estas haciendo es decirle al script de servidor de Python, "Hey, soy a.b.c.d y estoy conectandome a el puerto 42069". La programacion le permite devolverte un mensaje de bienvenida (O "greeting", en Inglés). El cual esta programado por defecto como "HABLALE A LA MANO (Salto de linea)". Esto es una referencia a Talk to the hand. (Esto es un enlace 'inter-wiki', que te envia a otro proyecto de mediawiki, en este caso a "English Wikipedia", con la página "Talk to the hand")

Una vez tengamos esta linea, podemos escribir nuestro texto. La cual se cierra con el "final", siendo este "HASTALAVISTABABY", un email malformado, pero bien cerrado, se hace la siguiente forma:

Pues, resulta que era un rey que tenía tres hijas
Las metió en tres botijas y las tapó con pez
Y las pobres princesitas lloraban desconsoladas
Y su padre les gritaba que por favor se callaran
HASTALAVISTABABY

Aqui, se enviara un correo con todo el texto de arriba, pero no se incluye "HASTALAVISTABABY" por que el script lo reconoce como cierre y, bueno, cierra, la conexion.

Lo cual nos deberia devolver una linea tal que esta:

SAYONARA (Se ha cerrado la conexion)

Esto puede ser una de 3 frases. Te dejo que las descubras por tu cuenta.

Enviando archivos

Puedes enviar archivos adjuntando un nuevo par de claves JSON, donde el archivo esta formateado como Base64, tal que:

(Todo lo anterior)
"Adjunto1" : "HWN1O27TDJ29SYH1PS6T2VO86FQVhq9Fwn19aJQ96j..."

Leyendo los JMAILS

Debido a que los mails estan en formato JSON, son 'mas o menos' legibles por humanos. Pero de todas formas, recomiendo que uses el script "leercorrreo.sh", este tiene una "interfaz" de usuario en el terminal, te permite leer tus JMAILs, y luego los guarda o borra. Segun tu eleccion.

Si decides ser valiente y leerlos por tu cuenta, puedes encontrarlos en /jmail/(tu usuario)/(tiempo unix 64)(IP).json, aunque no se por que querrias hacer esto.