Genera l’indirizzo Gmail usando C++
Crea il tuo generatore Gmail temporaneo con password usando C++
Scarica la prova gratuitaIl generatore di Gmail è un modo abbastanza comune per gestire gli abbonamenti e-mail. In sostanza, si tratta di un analogo di un provider di indirizzi email temporanei, ma molto più flessibile, affidabile e sicuro.
L’essenza del generatore è creare indirizzi Gmail aggiuntivi. È possibile utilizzare questi indirizzi aggiuntivi durante la registrazione su vari siti Web. Molto probabilmente questi siti Web invieranno e-mail agli indirizzi forniti. Poiché gli indirizzi sono aggiuntivi, tutte le lettere andranno al tuo indirizzo principale. Allo stesso tempo, un indirizzo aggiuntivo generato dall’applicazione o preparato manualmente verrà indicato come destinatario della lettera.
La ricerca delle e-mail in base all’indirizzo del destinatario ti consentirà di filtrare le e-mail ed eseguire azioni automatiche su di esse. Una tantum o permanente. Puoi anche vedere siti Web che condividono il tuo indirizzo con terze parti senza il tuo consenso.
Ad esempio, supponiamo che tu abbia generato un indirizzo username+ for.spam.sender@gmail.com aggiuntivo. L’hai quindi passato al sito web spam-sender.com. Dopo qualche tempo, potresti ricevere un’email da qualche altro sito web, come other-sender.com, ma il destinatario sarà username+ for.spam.sender@gmail.com . In nessun’altra situazione, non riusciresti a capire perché other-sender.com ti sta inviando email promozionali, ma poiché hai utilizzato un indirizzo alternativo, è facile vedere che spam-sender.com ha condiviso il tuo indirizzo con terze parti. E in tal caso, non ha senso annullare l’iscrizione alle mailing list di questi siti. Il tuo indirizzo aggiuntivo è probabilmente già stato incluso in una base pubblica per l’invio di email indesiderate. Sarà molto più semplice se blocchi semplicemente tutta la posta che arriva a questo indirizzo aggiuntivo. Sarebbe ancora meglio se impostassi lo spostamento automatico di tali email nella cartella spam. Questa configurazione renderà la vita molto difficile a questi siti perché Gmail saprà che questi siti inviano spam.
Quindi vediamo come implementare un generatore di questo tipo usando Aspose.Email per C++.
Genera Gmail temporaneo e opera con esso
Per generare un indirizzo Gmail aggiuntivo, in realtà non abbiamo bisogno di Aspose.Email, non abbiamo bisogno di interagire in alcun modo con il servizio Gmail. Qualsiasi indirizzo aggiuntivo creato manualmente o in modo casuale, soggetto a determinate regole, funzionerà.
Quindi quali sono queste regole?
I punti non sono importanti. Cioè, nel tuo indirizzo, prima del simbolo «@», puoi rimuovere punti e aggiungerne di nuovi tra qualsiasi coppia di lettere.
Prima del carattere ‘@’, puoi aggiungere un carattere ‘+’ seguito da qualsiasi set di lettere e numeri. Esempi per l’indirizzo «username@gmail.com»:
Tutti questi indirizzi possono già essere utilizzati al momento della registrazione sui siti Web. Ma da soli non hanno molto senso, perché tutti i messaggi che arrivano a questi indirizzi finiranno nella tua casella di posta principale. Pertanto, vale la pena utilizzare le nostre istruzioni per lavorare con questi indirizzi.
Semplice generatore Gmail temporaneo
Quindi creiamo un semplice generatore di sottoindirizzi casuali. Per fare ciò, aggiungeremo una stringa casuale tra i caratteri «+» e «@». Prima di tutto, dobbiamo generare una stringa casuale di una certa lunghezza, composta da un determinato set di caratteri:
const char16_t pattern[] = u"abcdefghijklmnopqrstuvwxyz0123456789";
auto patternLength = std::char_traits<char16_t>::length(pattern);
const int suffixLength = 10;
std::string generatedSuffix;
generatedSuffix.reserve(suffixLength);
srand(time(NULL));
for (int i = 0; i < suffixLength; i++)
{
generatedSuffix += pattern[rand() % (patternLength - 1)];
}
Ora dobbiamo ottenere l’indirizzo email e aggiungervi la stringa casuale generata. Per fare ciò, useremo il MailAdress classe dalla libreria Aspose.Email per C++:
auto originalAddress = System::MakeObject<MailAddress>(System::String(u"some.address@gmail.com"));
auto generatedAddress = System::MakeObject<MailAddress>(
originalAddress->get_User() + u"+" + generatedSuffix + u"@" + originalAddress->get_Host());
Console::WriteLine(generatedAddress);
Fatto! L’indirizzo ricevuto può essere già utilizzato al momento della registrazione sui siti Web. I siti Web inizieranno presto a inviare messaggi a questo indirizzo. Vediamo cosa possiamo fare con questi messaggi.
Usa il client IMAP per operare con i messaggi ricevuti sul Gmail generato
Innanzitutto, per poter operare sui messaggi ricevuti a un indirizzo aggiuntivo, dobbiamo connetterci a Gmail. L’IMAP è adatto a questo scopo. Per connetterti utilizzando questo protocollo, non dimenticare di impostare il tuo account in modo da consentire la connessione ad esso utilizzando questo protocollo. Inoltre, puoi semplificare la connessione IMAP con una password applicativa dedicata. Ciò ti consentirà di evitare la necessità di eseguire l’autorizzazione OAuth se non desideri implementarla nella tua applicazione. Vai alle impostazioni del tuo account Google, apri la sezione Sicurezza e aggiungi una password per l’app. Non dimenticare di salvare la password generata in un archivio sicuro e cerca di non perderla, perché ti dà pieno accesso alla tua posta!
Quindi, usiamo ImapClient classe e connettiti al tuo account Gmail utilizzando il protocollo IMAP:
auto imapClient = System::MakeObject<Clients::Imap::ImapClient>(
u"imap.gmail.com", 993, originalAddress->get_User(), u"password",
SecurityOptions::SSLAuto);
Fatto, ora possiamo, ad esempio, ottenere tutti i messaggi ricevuti all’indirizzo Gmail generato:
imapClient->SelectFolder(u"INBOX");
auto queryBuilder = System::MakeObject<ImapQueryBuilder>();
queryBuilder->get_To()->Contains(generatedAddress->get_Address());
auto list = imapClient->ListMessages(queryBuilder->GetQuery());
E riceverai assolutamente tutte queste lettere. Non importa da quale sito sono arrivati. Potrebbero provenire dal sito a cui hai fornito l’indirizzo email generato. Potrebbe provenire da un altro sito. Da qualsiasi indirizzo. Controlliamo le email non in base al mittente, ma al destinatario. Ed è molto comodo.
Contrassegna, rimuovi, sposta i messaggi ricevuti su Gmail temporaneo
Dopo aver ricevuto l’elenco delle lettere, possiamo già eseguire varie operazioni su di esso. Soprattutto in una volta. Non devi trovarli nella tua casella di posta uno per uno. Letteralmente, un paio di comandi e tutte le lettere vengono contrassegnate come lette, spostate in un’altra cartella o semplicemente eliminate. Basta non dimenticare di controllare in anticipo che l’elenco delle lettere non sia vuoto. Potresti aver già eliminato tutto.
if (list->get_Count() > 0)
{
//Mark as read
imapClient->AddMessageFlags(list, ImapMessageFlags::get_IsRead());
//Move
imapClient->MoveMessages(list, u"DestinationFolder");
//Remove
imapClient->DeleteMessages(list, true);
}
Fatto, la tua casella di posta è stata cancellata dallo spam.
Iscriviti all’indirizzo Gmail temporaneo
E se non volessi eliminare o contrassegnare costantemente le email chiamando manualmente il codice sopra riportato? Cosa succede se si desidera eliminare le e-mail non appena vengono ricevute? Per fare ciò, ad esempio, puoi iscriverti a nuovi messaggi e scrivere una funzione che elimini i messaggi non appena arrivano al tuo indirizzo email.
std::function<void(System::SharedPtr<System::Object> sender, System::SharedPtr<Clients::Imap::ImapMonitoringEventArgs> eventArgs)> subscribeCallback =
[&generatedAddress, &imapClient](System::SharedPtr<System::Object> sender, System::SharedPtr<ImapMonitoringEventArgs> eventArgs)
{
auto newMessages = eventArgs->get_NewMessages();
auto generated = System::MakeObject<ImapMessageInfoCollection>();
for each (auto newMessage in newMessages)
{
for each (auto address in newMessage->get_To())
{
if (address->get_Address() == generatedAddress->get_Address())
{
generated->Add(newMessage);
break;
}
}
}
if (generated->get_Count() == 0) return;
imapClient->SelectFolder(u"INBOX");
//Do something with the received messages. For example, mark them as read:
imapClient->AddMessageFlags(generated, ImapMessageFlags::get_IsRead());
//or delete them
imapClient->DeleteMessages(generated, true);
};
std::function<void(System::SharedPtr<System::Object> sender, System::SharedPtr<Clients::Imap::ImapMonitoringErrorEventArgs> eventArgs)> errorCallback =
[](System::SharedPtr<System::Object> _, System::SharedPtr<ImapMonitoringErrorEventArgs> errorEventArgs)
{
Console::WriteLine(errorEventArgs->get_Error()->get_Message());
};
imapClient->StartMonitoring(subscribeCallback, errorCallback, u"INBOX");
Questo algoritmo è leggermente semplificato perché, in caso di errore, l’iscrizione ai nuovi messaggi verrà interrotta. È possibile migliorare notevolmente l’algoritmo. Per fare ciò, è necessario perfezionare l’algoritmo migliorando la gestione degli errori. Ad esempio, è possibile impostare la ripresa del monitoraggio in caso di errore, per questo è possibile utilizzare la funzione IMAPClient.ResumeMonitoring. Questa funzione ristabilirà una connessione al server IMAP e riprenderà il monitoraggio dei nuovi messaggi.
Sfortunatamente, per utilizzare questo algoritmo, devi comunque mantenere il programma costantemente in esecuzione. Non appena si interrompe l’esecuzione del programma, le nuove lettere non verranno più cancellate automaticamente. Ma in questo caso c’è un’altra soluzione.
Interrompi la ricezione di messaggi all'indirizzo Gmail generato
Gmail fornisce algoritmi per filtrare i messaggi in arrivo. Questi algoritmi funzionano dal lato del servizio e non lasceranno mai passare posta indesiderata, se, ovviamente, li configuri correttamente. Al momento, sfortunatamente, non possiamo fornirti la funzionalità per configurare in remoto tali filtri utilizzando C++, ma prevediamo di aggiungere tale opportunità nel prossimo futuro. Seguite i nostri aggiornamenti!
Quindi, se desideri filtrare i messaggi che arrivano nel Gmail generato, devi prima creare un modello di ricerca per il filtro. Ecco il codice più semplice per ottenere il modello:
//Generate Gmail search pattern
auto searchPattern = System::String(u"to:(") + generatedAddress->get_Address() + u")";
Console::WriteLine(searchPattern);
Qui, la variabile generatedAddress
contiene il Gmail generato creato in precedenza in questo articolo. Il codice sopra riportato creerà un modello di ricerca e lo stamperà sul terminale. Copia questo modello perché ti servirà per creare il filtro.
Ora descriviamo passo dopo passo come creare un filtro. Per iniziare, apri l’interfaccia web di posta elettronica di Gmail, disponibile all’indirizzo il link. In questa interfaccia, trova la barra di ricerca:
In questa barra di ricerca, è necessario inserire il modello generato in precedenza in questa istruzione. Successivamente, è necessario fare clic sul pulsante «Mostra opzioni di ricerca», indicato nella schermata seguente:
Nella finestra delle opzioni di ricerca che si apre, non è necessario inserire dati aggiuntivi, il modello generato ha già configurato la ricerca. Basta fare clic sul pulsante «Crea filtro».
Di conseguenza, si aprirà la finestra delle impostazioni del filtro:
Qui puoi scegliere cosa deve fare il filtro con le email ricevute all’indirizzo Gmail generato. Puoi archiviarli automaticamente, contrassegnarli come letti, eliminarli e così via. Di norma, l’opzione migliore è eliminare le email. Il volume della casella di posta è limitato, non ha senso spenderlo in spazzatura. Dopo aver selezionato le azioni adatte a te, fai nuovamente clic sul pulsante «Crea filtro».
Fatto! Il filtro è completamente configurato, quindi niente più posta indesiderata ti disturberà.
Gestisci i filtri temporanei di Gmail
A volte i messaggi ricevuti da un determinato sito Web diventano indesiderati. Diventano semplicemente spazzatura nella tua casella di posta e ti impediscono di trovare in essa ciò che è veramente importante e interessante per te. Di conseguenza, si crea un filtro che blocca i messaggi indesiderati provenienti da questo sito Web. Ma cosa succede se i messaggi dal sito Web non sono più spam? Ad esempio, vuoi recuperare la tua password. Un sito Web ti invia un’email con un link a un modulo di reimpostazione della password, ma non puoi riceverla perché il filtro elimina immediatamente l’email.
Fortunatamente, c’è un modo elegante per uscire da questa situazione. Puoi riconfigurare temporaneamente il filtro in modo che non elimini queste email. Oppure puoi rimuovere completamente il filtro. Vediamo come si può fare.
Innanzitutto, apri l’interfaccia web di Gmail. Nella pagina che si apre, fai clic sul pulsante «Impostazioni»:
Nella finestra che si apre, fai clic sul pulsante «Visualizza tutte le impostazioni»:
Si aprirà la finestra delle impostazioni dell’account Gmail. Contiene molte schede per ottimizzare la tua esperienza di posta elettronica. Siamo interessati alla scheda «Filtri e indirizzi bloccati». Apri questa scheda:
Nella scheda che si apre, vedrai un elenco di filtri per i Gmail generati che hai creato in precedenza, oltre ad eventuali altri filtri:
Dalla descrizione dei filtri, puoi facilmente determinare quale è responsabile dell’indirizzo che desideri sbloccare. Facendo clic sul pulsante «elimina», è possibile disabilitare permanentemente il filtro. Se fai clic sul pulsante «modifica», puoi riconfigurare il filtro. Ad esempio, invece di eliminare le email, puoi contrassegnarle. In questo modo puoi salvare il filtro e facilitarne l’attivazione in futuro. Modificando il filtro, sarai in grado di ricevere le email necessarie dal sito web. Non appena desideri bloccare nuovamente Gmail generato, apri nuovamente il filtro con il pulsante «modifica» e riconfigura le azioni.
Questo è tutto. Ora sei un professionista con indirizzi Gmail generati. Puoi creare un numero enorme di indirizzi e gestire magistralmente il flusso di email che arrivano a Gmail. Utilizzando indirizzi aggiuntivi, sarai in grado di tracciare i siti che trasferiscono i tuoi dati a terzi senza il tuo consenso. Sarai in grado di bloccare lo spam senza dover riqualificare il tuo sistema antispam o senza dover premere più volte i pulsanti di annullamento dell’iscrizione. Puoi automatizzare la rimozione dello spam utilizzando Aspose.Email .NET o manualmente tramite le impostazioni e l’interfaccia di Gmail.