Go to file
ifiguero b25cb388e7 fix 2024-01-31 19:31:11 -03:00
dockerfiles Version 1.0 2021-12-28 03:01:00 -03:00
mayordomo fix 2024-01-31 19:31:11 -03:00
LICENSE Initial commit 2021-12-28 02:59:49 -03:00
README.md Update 'README.md' 2021-12-28 13:10:55 -03:00
docker-compose.yml DKIM Support v1 2022-07-16 00:00:13 -04:00
dockerdb.sh Version 1.0 2021-12-28 03:01:00 -03:00
install-services.sh install script 2021-12-28 03:22:58 -03:00
mensajes.py Version 1.0 2021-12-28 03:01:00 -03:00
model.sql fixes 2021-12-29 15:03:19 -03:00
pysmtp-sender.service install script 2021-12-28 03:22:58 -03:00
pysmtp-server.service install script 2021-12-28 03:22:58 -03:00
pysmtp.conf install script 2021-12-28 03:22:58 -03:00
sender.py Cleanup Routine 2022-07-16 15:41:13 -04:00
server.py Registro y salida chistosa 2022-01-21 01:36:23 -03:00

README.md

pysmtp

Este es un bosquejo de un servidor SMTP Relay. Permite la recepción de correos (Servidor SMTP saliente) y se encarga del envío al destinatario de contactandose con los servidores de Correo del dominio de destino (Servidor MTA).

Servicios

El software, en la versión actual está compuesto de dos servicios, sincronizados mediante una base de datos:

Servidor de recepción de correos

Se inicia al ejecutar server.py y queda escuchando en el puerto 10025. Se encarga de recibir los correos e ingresar la "Carta" y las "Direcciones" en la base de datos. También agrega el "FQDN" o dominio del correo en el caso que no se encuentre

Servidor de envío de correos.

Se inicia al ejecutar sender.py. Se conecta a la Base de datos y determina si hay alguna "Carta" pendiente para ser enviada, de ser así verifica que estén actualizadas las direcciones de los servidores MX del dominio del destinatario.

Una vez que todas las direcciones de los servidores están actualizadas, se conecta al servidor "menos utilizado" e intenta entregarla una copia de la carta al destinatario. En caso de ocurrir un error toma el siguiente servidor de la lista y reintenta.

Si ocurren tres intentos fallidos de entrega, se cancela la entrega al destinatario.

TODO

  • Implementación de TLS. Por lo visto requiere certificados válidos y tengo que ver como entregarselos al servidor que sale.
  • Mejora de paralelismo asincrónico
  • Listas de correo
  • Servidor para visualización de historial de estados y estadisticas por servidores y remitentes.