Aspose.Email  para.NET

Generar una dirección de Gmail usando.NET

Crea tu propio generador temporal de Gmail con contraseña usando C#

  Descargar prueba gratuita
 

El generador de Gmail es una forma bastante común de administrar las suscripciones de correo electrónico. En esencia, este es un análogo de un proveedor de direcciones de correo electrónico temporales, pero mucho más flexible, confiable y seguro.

La esencia del generador es crear direcciones de Gmail adicionales. Puede usar estas direcciones adicionales al registrarse en varios sitios web. Lo más probable es que estos sitios web envíen correos electrónicos a las direcciones que proporciones. Como las direcciones son adicionales, todas las cartas irán a tu dirección principal. Pero al mismo tiempo, se indicará como destinatario de la carta una dirección adicional generada por la aplicación o preparada manualmente.

La búsqueda de correos electrónicos por la dirección del destinatario te permitirá filtrar los correos electrónicos y realizar acciones automáticas en ellos. Única o permanente. También puedes detectar sitios web que comparten tu dirección con terceros sin tu consentimiento.

Por ejemplo, supongamos que generaste una dirección adicional username+ for.spam.sender@gmail.com . A continuación, la pasaste al sitio web spam-sender.com. Después de un tiempo, es posible que recibas un correo electrónico de otro sitio web, como other-sender.com, pero el destinatario será username+ for.spam.sender@gmail.com . En cualquier otra situación, no podrás averiguar por qué other-sender.com te envía correos electrónicos promocionales, pero como has utilizado una dirección alternativa, es fácil ver que spam-sender.com ha compartido tu dirección con terceros. Y si es así, no tiene sentido darse de baja de las listas de correo de estos sitios. Es probable que su dirección adicional ya se haya incluido en alguna base pública para enviar correos electrónicos no deseados. Será mucho más fácil si simplemente bloquea todo el correo que llega a esta dirección adicional. Sería incluso mejor si configurara el movimiento automático de dichos correos electrónicos a la carpeta de correo no deseado. Esta configuración dificultará mucho la vida de estos sitios porque Gmail sabrá que estos sitios están enviando spam.

Así que veamos cómo implementar un generador de este tipo usando Aspose.Email para.NET.

Genera Gmail temporal y opera con él

Para generar una dirección de Gmail adicional, en realidad no necesitamos Aspose.Email, no necesitamos interactuar con el servicio de Gmail de ninguna manera. Cualquier dirección adicional que crees de forma manual o aleatoria, sujeta a ciertas reglas, funcionará.

Entonces, ¿cuáles son estas reglas?

Los puntos no son importantes. Es decir, en su dirección, antes del símbolo «@», puede eliminar puntos y añadir otros nuevos entre cualquier par de letras.

Antes del carácter ‘@’, puedes añadir un carácter ‘+’ con cualquier conjunto de letras y números detrás de él. Ejemplos de la dirección «username@gmail.com»:

Todas estas direcciones ya se pueden usar al registrarse en sitios web. Pero por sí solos, tienen poco sentido, porque todos los mensajes que lleguen a estas direcciones terminarán en su buzón principal. Por lo tanto, vale la pena seguir nuestras instrucciones para trabajar con estas direcciones.

Generador de Gmail temporal simple

Así que vamos a crear un generador de subdirecciones aleatorias simple. Para ello, agregaremos una cadena aleatoria entre los caracteres «+» y «@». En primer lugar, necesitamos generar una cadena aleatoria de cierta longitud, que consiste en un determinado conjunto de caracteres:

const string pattern = "abcdefghijklmnopqrstuvwxyz0123456789";
var patternLength = pattern.Length;
const int suffixLength = 10;
var random = new Random();
var generatedSuffix = Enumerable.Range(0, suffixLength)
    .Aggregate(
        new StringBuilder(),
        (builder, _) => builder.Append(pattern[random.Next(patternLength)]))
    .ToString();

Ahora necesitamos obtener la dirección de correo electrónico y agregarle la cadena aleatoria generada. Para ello, utilizaremos el MailAdress clase de la biblioteca Aspose.Email para .NET:

var originalAddress = new MailAddress("some.address@gmail.com");
var generatedAddress = new MailAddress(
    $"{originalAddress.User}+{generatedSuffix}@{originalAddress.Host}");
Console.WriteLine(generatedAddress);

¡Hecho! La dirección recibida ya se puede utilizar al registrarse en sitios web. Los sitios web pronto comenzarán a enviar mensajes a esta dirección. Veamos qué podemos hacer con estos mensajes.

Usa el cliente IMAP para operar con los mensajes recibidos en el Gmail generado

En primer lugar, para poder operar con los mensajes recibidos en una dirección adicional, necesitamos conectarnos a Gmail. IMAP es muy adecuado para esto. Para conectarse mediante este protocolo, no olvide configurar su cuenta para permitir la conexión a ella mediante este protocolo. Además, puedes simplificar la conexión IMAP con una contraseña de aplicación específica. Esto le permitirá evitar la necesidad de realizar una autorización de OAuth si no desea implementarla en su aplicación. Solo tienes que ir a la configuración de tu cuenta de Google, abrir la sección de Seguridad y añadir una contraseña para la aplicación. No olvides guardar la contraseña generada en un almacenamiento seguro e intenta no perderla, ¡porque te da acceso total a tu correo!

Por lo tanto, usemos el ImapClient clase y conéctate a tu cuenta de Gmail mediante el protocolo IMAP:

var imapClient = new ImapClient("imap.gmail.com", 993, originalAddress.User, "password",
    SecurityOptions.SSLAuto);

Hecho, ahora podemos, por ejemplo, obtener todos los mensajes recibidos en la dirección de Gmail generada:

await imapClient.SelectFolderAsync("INBOX");
var queryBuilder = new ImapQueryBuilder();
queryBuilder.To.Contains(generatedAddress.Address);

var list = await imapClient.ListMessagesAsync(queryBuilder.GetQuery());

Y recibirás absolutamente todas esas cartas. No importa de qué sitio te hayan llegado. Podrían provenir del sitio al que proporcionaste la dirección de correo electrónico generada. Podrían provenir de otro sitio. Desde cualquier dirección. Examinamos los correos electrónicos no por remitente, sino por destinatario. Y es muy práctico.

Marcar, eliminar y mover los mensajes recibidos al Gmail temporal

Habiendo recibido la lista de cartas, ya podemos realizar varias operaciones en ella. Sobre todo a la vez. No tiene que encontrarlos en su buzón de correo uno por uno. Literalmente, un par de comandos y todas las letras se marcan como leídas, se mueven a otra carpeta o simplemente se eliminan. No olvides comprobar de antemano que la lista de letras no esté vacía. Puede que ya lo hayas borrado todo.

if (list.Count > 0)
{
    //Mark as read
    await imapClient.AddMessageFlagsAsync(list, ImapMessageFlags.IsRead);
    //Move
    await imapClient.MoveMessagesAsync(list, "DestinationFolder");
    //Remove
    await imapClient.DeleteMessagesAsync(list, commitNow: true);
}

Listo, tu bandeja de entrada se ha limpiado de spam.

Suscríbete a la dirección temporal de Gmail

Entonces, ¿qué pasa si no quieres eliminar o marcar constantemente los correos electrónicos llamando manualmente al código anterior? ¿Qué sucede si quieres eliminar los correos electrónicos tan pronto como los recibas? Para ello, por ejemplo, puede suscribirse a nuevos mensajes y escribir una función que elimine los mensajes tan pronto como lleguen a su dirección de correo electrónico.

await imapClient.StartMonitoringAsync((_, eventArgs) =>
    {
        var generated = eventArgs.NewMessages
            .Where(message => message.To
                .Any(address => address.Equals(generatedAddress)))
            .ToList();
        if (generated.Count == 0) return;

        imapClient.SelectFolder("INBOX");

        //Do something with the received messages. For example, mark them as read:
        imapClient.AddMessageFlags(generated, ImapMessageFlags.IsRead);

        //or delete them
        imapClient.DeleteMessages(generated, commitNow: true);
    },
    (_, errorEventArgs) => Console.WriteLine(errorEventArgs.Error.Message),
    "INBOX");

Este algoritmo está ligeramente simplificado porque, en caso de error, se interrumpirá la suscripción a los nuevos mensajes. Puedes mejorar considerablemente el algoritmo. Para ello, es necesario refinar el algoritmo mejorando la gestión de errores. Por ejemplo, puede configurar la reanudación de la supervisión en caso de error; para ello, puede utilizar la función IMAPClient.ResumeMonitoring. Esta función restablecerá la conexión con el servidor IMAP y reanudará la supervisión de los mensajes nuevos.

Desafortunadamente, para usar este algoritmo, debes mantener el programa en ejecución constante de todos modos. Tan pronto como interrumpa la ejecución del programa, las letras nuevas ya no se eliminarán automáticamente. Pero en este caso, hay otra solución.

Dejar de recibir mensajes en la dirección de Gmail generada

Gmail proporciona algoritmos para filtrar los mensajes entrantes. Estos algoritmos funcionan desde el punto de vista del servicio y nunca dejarán pasar el correo no deseado si, por supuesto, los configuras correctamente. Por el momento, lamentablemente, no podemos proporcionarle la funcionalidad para configurar de forma remota dichos filtros con C#, pero planeamos agregar esa oportunidad en un futuro próximo. ¡Siga nuestras actualizaciones!

Por lo tanto, si quieres filtrar los mensajes que llegan al Gmail generado, primero tienes que crear una plantilla de búsqueda para el filtro. Este es el código más simple para obtener la plantilla:

//Generate Gmail search pattern
var searchPattern = $"to:({generatedAddress.Address})";
Console.WriteLine(searchPattern);

Aquí, la variable generatedAddress contiene el Gmail generado que se creó anteriormente en este artículo. El código anterior creará una plantilla de búsqueda y la imprimirá en la terminal. Copie esta plantilla porque la necesitará al crear el filtro.

Ahora vamos a describir paso a paso cómo puedes crear un filtro. Para empezar, abre la interfaz web de correo electrónico de Gmail, que está disponible en el enlace. En esta interfaz, busca la barra de búsqueda:

step1

En esta barra de búsqueda, debe insertar la plantilla generada anteriormente en esta instrucción. A continuación, debe hacer clic en el botón «Mostrar opciones de búsqueda», que se indica en la siguiente captura de pantalla:

step2

En la ventana de opciones de búsqueda que se abre, no es necesario introducir ningún dato adicional, la plantilla generada ya ha configurado la búsqueda. Simplemente haga clic en el botón «Crear filtro».

step3

Como resultado, se abrirá la ventana de configuración del filtro:

step4

Aquí puedes elegir qué debe hacer el filtro con los correos electrónicos recibidos en la dirección de Gmail generada. Puedes archivarlos automáticamente, marcarlos como leídos, eliminarlos, etc. Por regla general, la mejor opción es eliminar los correos electrónicos. El volumen del buzón es limitado, no tiene sentido gastarlo en el almacenamiento de basura. Después de seleccionar las acciones que más le convengan, vuelva a hacer clic en el botón «Crear filtro».

¡Hecho! El filtro está completamente configurado, por lo que no te molestará más correo basura.

Gestiona los filtros temporales de Gmail

A veces, los mensajes que recibe de un sitio web en particular no son solicitados. Simplemente se convierten en basura en su buzón e impiden que encuentre en él lo que es realmente importante e interesante para usted. Como resultado, crea un filtro que bloquea los mensajes no deseados de este sitio web. Pero, ¿qué pasa si los mensajes del sitio web ya no son spam? Por ejemplo, quieres recuperar tu contraseña. Un sitio web te envía un correo electrónico con un enlace a un formulario para restablecer la contraseña, pero no puedes recibirlo porque el filtro elimina inmediatamente el correo electrónico.

Afortunadamente, hay una forma elegante de salir de esta situación. Puede reconfigurar temporalmente el filtro para que no elimine estos correos electrónicos. O puede eliminar el filtro por completo. Veamos cómo se puede hacer esto.

Primero, abre la interfaz web de Gmail. En la página que se abre, haga clic en el botón «Configuración»:

step1

En la ventana que se abre, haz clic en el botón «Ver todas las configuraciones»:

step2

Se abrirá la ventana de configuración de la cuenta de Gmail. Contiene muchas pestañas para mejorar tu experiencia con el correo electrónico. Nos interesa la pestaña «Filtros y direcciones bloqueadas». Abre esta pestaña:

step3

En la pestaña que se abre, verás una lista de filtros para los Gmail generados que creaste anteriormente, así como posiblemente otros filtros:

step4

Mediante la descripción de los filtros, puede determinar fácilmente cuál es el responsable de la dirección que desea desbloquear. Al hacer clic en el botón «eliminar», puede deshabilitar permanentemente el filtro. Si hace clic en el botón «editar», puede reconfigurar el filtro. Por ejemplo, en lugar de eliminar correos electrónicos, puede marcarlos. De esta forma, puedes guardar el filtro y hacer que sea más fácil activarlo en el futuro. Al editar el filtro, podrá recibir los correos electrónicos necesarios del sitio web. Tan pronto como quieras volver a bloquear el Gmail generado, vuelve a abrir el filtro con el botón «editar» y reconfigura las acciones.

Eso es todo Ahora eres un profesional con las direcciones de Gmail generadas. Puede crear una gran cantidad de direcciones y administrar magistralmente el flujo de correos electrónicos que llegan a su Gmail. Con direcciones adicionales, podrá rastrear los sitios que transfieren sus datos a terceros sin su consentimiento. Podrás bloquear el spam sin tener que volver a entrenar tu sistema antispam ni tener que pulsar los botones de cancelación de suscripción varias veces. Puedes automatizar la eliminación del spam mediante Aspose.Email .NET o manualmente a través de la configuración y la interfaz de Gmail.