Generar dirección Gmail usando .NET
Cree su propio generador temporal de Gmail con contraseña usando C#
Descargar prueba gratuitaEl generador de Gmail es una forma bastante común de gestionar suscripciones de correo. En esencia, es un análogo a un proveedor de direcciones de correo temporales, pero mucho más flexible, fiable y seguro.
La esencia del generador es crear direcciones Gmail adicionales. Puede usar estas direcciones adicionales al registrarse en varios sitios web. Es probable que esos sitios envíen correos a las direcciones que proporcione. Como las direcciones son adicionales, todas las cartas llegarán a su dirección principal. Pero, al mismo tiempo, una dirección adicional generada por la aplicación o preparada manualmente se indicará como el destinatario de la carta.
Buscar correos por la dirección del destinatario le permitirá filtrar correos y ejecutar acciones automáticas sobre ellos. Una sola vez o de forma permanente. También puede detectar sitios web que comparten su dirección con terceros sin su consentimiento.
Por ejemplo, supongamos que generó una dirección adicional username+for.spam.sender@gmail.com . Luego la pasó al sitio web spam-sender.com. Después de un tiempo, podría recibir un correo 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ía averiguar por qué other-sender.com le envía correos promocionales, pero como ha usado una dirección alternativa, es fácil ver que spam-sender.com ha compartido su dirección con terceros. Y si es así, no tiene sentido darse de baja de las listas de correo de esos sitios. Su dirección adicional probablemente ya haya sido incluida en alguna base pública para enviar correos no deseados. Será mucho más fácil si simplemente bloquea todo el correo que llegue a esta dirección adicional. Sería aún mejor si configura el movimiento automático de dichos correos a la carpeta de spam. Esta configuración dificultará mucho la vida a esos sitios porque Gmail sabrá que esos sitios están enviando spam.
Así que descubramos cómo implementar dicho generador usando Aspose.Email para .NET.
Generar Gmail temporal y operar con él
Para generar una dirección Gmail adicional, en realidad no necesitamos Aspose.Email, ni interactuar con el servicio Gmail de ninguna manera. Cualquier dirección adicional que cree manualmente o aleatoriamente, respetando ciertas reglas, funcionará.
¿Cuáles son estas reglas?
Los puntos no son importantes. Es decir, en su dirección, antes del símbolo ‘@’, puede tanto eliminar puntos como añadir nuevos entre cualquier par de letras.
Antes del carácter ‘@’, puede añadir un carácter ‘+’ con cualquier conjunto de letras y números después de él. Ejemplos para la dirección “username@gmail.com”:
Todas estas direcciones ya pueden usarse al registrarse en sitios web. Pero por sí solas tienen poco sentido, ya que 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 simple de Gmail temporal
Así que vamos a crear un generador de subdirecciones aleatorias simple. Para ello, añadiremos una cadena aleatoria entre los caracteres ‘+’ y ‘@’. Primero, necesitamos generar una cadena aleatoria de cierta longitud, compuesta por un conjunto concreto 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 añadir la cadena aleatoria generada a ella. Para ello, utilizaremos la clase <a href="https://reference.aspose.com/email/net/aspose.email/mailaddress/" rel="nofollow noopener" target="_blank">MailAdress 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);
¡Listo! La dirección recibida ya puede usarse al registrarse en sitios web. Los sitios pronto comenzarán a enviar mensajes a esta dirección. Veamos qué podemos hacer con estos mensajes.
Utilice el cliente IMAP para operar con los mensajes recibidos en el Gmail generado
Primero, para operar sobre los mensajes recibidos en una dirección adicional, necesitamos conectarnos a Gmail. IMAP es muy adecuado para esto. Para conectarse usando este protocolo, no olvide configurar su cuenta para permitir la conexión mediante este protocolo. Además, puede simplificar la conexión IMAP con una contraseña de aplicación dedicada. Esto le permitirá evitar la necesidad de realizar autorización OAuth si no desea implementarla en su aplicación. Simplemente vaya a la configuración de su cuenta Google, abra la sección Seguridad y añada una contraseña de aplicación. No olvide guardar la contraseña generada en un almacenamiento seguro y trate de no perderla, ¡porque le brinda acceso completo a su correo!
Entonces, utilicemos la clase <a rel="nofollow noopener" target="_blank" href="https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/">ImapClient y conectemos a su cuenta de Gmail usando el protocolo IMAP:
var imapClient = new ImapClient("imap.gmail.com", 993, originalAddress.User, "password",
SecurityOptions.SSLAuto);
Listo, ahora podemos, por ejemplo, obtener todos los mensajes recibidos en la dirección Gmail generada:
await imapClient.SelectFolderAsync("INBOX");
var queryBuilder = new ImapQueryBuilder();
queryBuilder.To.Contains(generatedAddress.Address);
var list = await imapClient.ListMessagesAsync(queryBuilder.GetQuery());
Y recibirá absolutamente todas esas cartas. No importa de qué sitio provengan. Podrían haber venido del sitio al que proporcionó la dirección de correo generada. También podrían haber venido de otro sitio. De cualquier dirección. Filtramos los correos no por el remitente, sino por el destinatario. Y es muy conveniente.
Marcar, eliminar, mover mensajes recibidos al Gmail temporal
Al haber recibido la lista de cartas, ya podemos realizar diversas operaciones sobre ella. Sobre todo de forma masiva. No tiene que buscarlas en su buzón una por una. Literalmente, un par de comandos y todas las cartas se marcan como leídas, se mueven a otra carpeta o simplemente se borran. Solo no olvide comprobar antes que la lista de cartas no esté vacía. Puede que ya haya 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, su bandeja de entrada ha sido limpiada de spam.
Suscribirse a la dirección Gmail temporal
¿Qué pasa si no quiere eliminar o marcar correos constantemente llamando manualmente al código anterior? ¿Y si desea eliminar los correos tan pronto como se reciben? Para ello, por ejemplo, puede suscribirse a nuevos mensajes y escribir una función que elimine los mensajes en cuanto lleguen a su dirección de correo.
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, la suscripción a nuevos mensajes se interrumpe. Puede mejorar mucho el algoritmo. Para ello, necesita refinarlo mejorando el manejo de errores. Por ejemplo, puede configurar la reanudación del monitoreo en caso de error; para ello, puede usar la función ImapClient.ResumeMonitoring. Esta función restablecerá la conexión al servidor IMAP y reanudará el monitoreo de nuevos mensajes.
Desafortunadamente, para usar este algoritmo, debe mantener el programa en ejecución constante de todos modos. En cuanto interrumpa la ejecución del programa, los nuevos correos ya no se eliminarán automáticamente. Pero en este caso, hay otra solución.
Deje de recibir mensajes en la dirección Gmail generada
Gmail ofrece algoritmos para filtrar los mensajes entrantes. Estos algoritmos funcionan del lado del servicio y nunca dejarán pasar correo no deseado, siempre que los configure correctamente. En este momento, lamentablemente, no podemos ofrecerle la funcionalidad de configurar dichos filtros de forma remota usando C#, pero planeamos añadir esta posibilidad en un futuro próximo. ¡Siga nuestras actualizaciones!
Entonces, si desea filtrar los mensajes que llegan al Gmail generado, primero necesita crear una plantilla de búsqueda para el filtro. Aquí está el código más sencillo 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ó antes 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 describiremos paso a paso cómo crear un filtro. Para comenzar, abra la interfaz web de Gmail, disponible en <a href="https://mail.google.com/mail" rel="nofollow noopener" target="_blank">el enlace. En esta interfaz, encuentre la barra de búsqueda:

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

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

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

Aquí puede elegir qué debe hacer el filtro con los correos recibidos en la dirección Gmail generada. Puede archivarlos automáticamente, marcarlos como leídos, eliminarlos, etc. Por lo general, la mejor opción es eliminar los correos. El volumen del buzón es limitado, no tiene sentido gastarlo en almacenar basura. Después de seleccionar las acciones que le convengan, haga clic nuevamente en el botón “Crear filtro”.
¡Listo! El filtro está completamente configurado, así que ya no le molestará el correo basura.
Administrar filtros temporales de Gmail
A veces los mensajes que recibe de un sitio web particular se vuelven no solicitados. Simplemente se convierten en basura en su buzón y le impiden encontrar lo que realmente es importante e interesante para usted. Como resultado, crea un filtro que bloquea los mensajes no deseados de ese sitio web. Pero, ¿qué pasa si los mensajes del sitio ya no son spam? Por ejemplo, desea recuperar su contraseña. Un sitio le envía un correo con un enlace al formulario de restablecimiento de contraseña, pero no lo recibe porque el filtro elimina el correo inmediatamente.
Afortunadamente, hay una salida elegante a esta situación. Puede reconfigurar temporalmente el filtro para que no elimine estos correos. O puede eliminar el filtro por completo. Veamos cómo se puede hacer.
Primero, abra la interfaz web de Gmail. En la página que se abre, haga clic en el botón "Configuración":

En la ventana que se abre, haga clic en el botón "Ver toda la configuración":

Se abrirá la ventana de configuración de la cuenta de Gmail. Contiene muchas pestañas para afinar su experiencia de correo electrónico. Nos interesa la pestaña "Filtros y direcciones bloqueadas". Abra esta pestaña:

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

Según la descripción de los filtros, puede determinar fácilmente cuál es responsable de la dirección que desea desbloquear. Al hacer clic en el botón "eliminar", puede desactivar permanentemente el filtro. Si hace clic en el botón “editar”, puede reconfigurar el filtro. Por ejemplo, en lugar de eliminar correos, puede marcarlos. De este modo puede guardar el filtro y facilitar su activación futura. Al editar el filtro, podrá recibir los correos necesarios del sitio web. Cuando desee volver a bloquear el Gmail generado, abra nuevamente el filtro con el botón “editar” y reconfigure las acciones.
Eso es todo. Ahora es un profesional con direcciones de Gmail generadas. Puede crear una gran cantidad de direcciones y gestionar magistralmente el flujo de correos que llegan a su Gmail. Con direcciones adicionales, podrá rastrear sitios que transfieren sus datos a terceros sin su consentimiento. Podrá bloquear spam sin tener que volver a entrenar su sistema anti‑spam o sin tener que pulsar los botones de Cancelar suscripción múltiples veces. Puede automatizar la eliminación de spam usando Aspose.Email .NET o manualmente a través de la configuración y la interfaz de Gmail.