Tutorial: Crea tu propio servidor de correo temporal desechable

  • Autor Autor moiseseccam
  • Fecha de inicio Fecha de inicio
Buen tutorial! Esto ya si es algo más pro que los temporales de 5 min jjajja
 
Muy buenas a todos. Muchas veces no queremos introducir nuestra dirección de correo electrónico en lugares desconocidos, pero tampoco tenemos el control de las páginas de correo temporal ya que todos pueden ver nuestra información. O simplemente necesites una manera de tener varios correos electrónicos con el mismo dominio (en especial los que revenden cuentas de Netflix, Spotify, etc)

Ver el archivo adjunto 641933

En esta oportunidad haré el tutorial para que logres tener un servidor propio de correo electrónico temporal.

Para fines prácticos, voy a usar un VPS barato de Hetzner con ubicación en Estados Unidos y con Ubuntu 20.04
Ver el archivo adjunto 641936

Materiales
  • 1 dominio o subdominio
  • 1 VPS o servidor con Linux
Requisitos previos del dominio
El dominio debe tener los siguientes registros.
  • Un registro A hacia la IP del servidor
  • Un registro MX hacia el dominio del correo.
En mi caso, estoy usando Cloudflare como DNS​

Requisitos del servidor
  • Tener instalado el poderoso Docker
  • Tener instalado docker-compose
  • Tener los siguientes puertos abiertos: 80, 443, 25, 995, 587, 110, 465

Una vez que estemos seguros de tener los requisitos instalados, vamos con la instalación.

Descargamos el siguiente proyecto de GitHub: https://github.com/Orange-Cyberdefense/disposable-mailbox-docker
Ver el archivo adjunto 641938

Lo descargamos y lo subimos a nuestro servidor, luego lo descomprimimos. En mi caso lo descomprimí en una carpeta llamada tempmail. Para esto usaré el dominio sendlayer.fun que me regalaron faltando escasos días para su vencimiento.
Ver el archivo adjunto 641940

Abrimos el archivo .env para editarlo. En FQDN ponemos nuestro dominio, en EMAIL ponemos nuestro correo y en LETSENCRYPT yes si queremos SSL, en caso que no quieras https lo dejas así por defecto en no.
Ver el archivo adjunto 641942

Luego vamos al archivo /web/www/disposable-mailbox/config.php para editarlo
Ver el archivo adjunto 641943

Donde dice $config['domains'] ponemos nuestro dominio entre comillas dentro del paréntesis array

Donde dice $config['mailHostname'] pones el mismo dominio entre comillas. Si quieres que los mensajes se muestren con el HTML formateado, te recomiendo que comentes la ultima linea poniendo // al iniciar esa línea.
Ver el archivo adjunto 641945

Ahora que ya tenemos todo configurado, vamos a la carpeta inicial donde se encuentra el archivo docker-compose.yml
Ejecutamos el comando docker-compose up -d
Ver el archivo adjunto 641946

Esperamos a que se descarguen las dependencias y a que se instalen completamente. Cuando hayan terminado el proceso y quieran comprobar que todo esté funcionando corran el comando docker ps
Debería salir 2 imágenes, una llamada como el nombre de la carpeta mas el sufijo _web y otra con el sufijo _mail. Algo así como en la imagen.
Ver el archivo adjunto 641947

Y si ingresamos al dominio, ya deberíamos tener nuestra web con una dirección aleatoria, lista para recibir mensajes.
Ver el archivo adjunto 641949

Aquí un ejemplo de cómo me llega los mensajes. Puedes modificar el front a tu gusto o cambiar las traducciones.
Ver el archivo adjunto 641951


Si deseas puedes modificar un poco el código fuente para que te pida contraseña al ingresar a la página y solo tu puedas visualizar el contenido de los correos, pero eso es otro tema :v
Ver el archivo adjunto 641952

Si quieren ver el resultado final, les dejo los datos

Sitio web: https://sendlayer.fun
Nombre de usuario: david
Contraseña: DavidMorales

Dominio Expirado
Hola amigo tengo una duda, es posible ejecutar este tutorial sin un vps en cambio se usaría un hosting?
 
Hola amigo tengo una duda, es posible ejecutar este tutorial sin un vps en cambio se usaría un hosting?

Para un hosting con cPanel, puedes usar T-mail

 
Interesante aporte 🪡
 
Buena información 🙌🏼
 
Una solución rápida para salir del paso sería editar el index.php y agregar al inicio una autenticación básica harcodeando el usuario y contraseña.

PHP:
$valid_passwords = array ("usuario" => "contraseña");
$valid_users = array_keys($valid_passwords);

$user = $_SERVER['PHP_AUTH_USER'];
$pass = $_SERVER['PHP_AUTH_PW'];

$validated = (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]);

if (!$validated) {
  header('WWW-Authenticate: Basic realm="My Realm"');
  header('HTTP/1.0 401 Unauthorized');
  die ("No estas autorizado Prro");
}
Y cual sería la opción con más dificultad 😀 o normal va estar "seguro"
 
Gracias por el tutorial
 

Temas similares

Atrás
Arriba