Aspose.Email  pentru C++

Generați adresa Gmail folosind C ++

Creați-vă propriul generator Gmail temporar cu parolă folosind C ++

  Descarcă Proba Gratuită
 

Generatorul Gmail este o modalitate destul de comună de a gestiona abonamentele de e-mail. În esență, acesta este un analog al unui furnizor de adrese de e-mail temporare, dar mult mai flexibil, mai fiabil și mai sigur.

Esența generatorului este de a crea adrese Gmail suplimentare. Puteți utiliza aceste adrese suplimentare atunci când vă înregistrați pe diverse site-uri web. Aceste site-uri web vor trimite cel mai probabil e-mailuri la adresele pe care le furnizați. Deoarece adresele sunt suplimentare, toate literele vor merge la adresa principală. Dar, în același timp, o adresă suplimentară generată de aplicație sau pregătită manual va fi indicată ca destinatar al scrisorii.

Căutarea e-mailurilor după adresa destinatarului vă va permite să filtrați e-mailurile și să efectuați acțiuni automate asupra acestora. O singură dată sau permanent. De asemenea, puteți prinde site-uri care vă împărtășesc adresa cu terțe părți fără consimțământul dvs.

De exemplu, să presupunem că ați generat o adresă suplimentară de username+ for.spam.sender@gmail.com . L-ați transmis apoi pe site-ul spam-sender.com. După ceva timp, este posibil să primiți un e-mail de la un alt site web, cum ar fi other-sender.com, dar destinatarul va fi username+ for.spam.sender@gmail.com . În orice altă situație, nu ați putea afla de ce other-sender.com vă trimite e-mailuri promoționale, dar din moment ce ați folosit o adresă alternativă, este ușor să vedeți că spam-sender.com a împărtășit adresa dvs. cu terțe părți. Și dacă da, nu are sens să vă dezabonați de la listele de corespondență ale acestor site-uri. Adresa dvs. suplimentară a fost probabil deja inclusă într-o bază publică pentru trimiterea de e-mailuri nedorite. Va fi mult mai ușor dacă blocați doar toate e-mailurile care vin la această adresă suplimentară. Ar fi chiar mai bine dacă configurați mișcarea automată a unor astfel de e-mailuri în dosarul spam. Această configurare va face viața foarte dificilă pentru aceste site-uri, deoarece Gmail va ști că aceste site-uri trimit spam.

Deci, să ne dăm seama cum să implementăm un astfel de generator folosind Aspose.Email pentru C ++.

Generați Gmail temporar și operați cu acesta

Pentru a genera o adresă Gmail suplimentară, nu avem nevoie de Aspose.Email, nu trebuie să interacționăm cu serviciul Gmail în niciun fel. Orice adresă suplimentară pe care o alcătuiți manual sau aleatoriu, sub rezerva anumitor reguli, va funcționa.

Deci, care sunt aceste reguli?

Punctele nu sunt importante. Adică, în adresa dvs., înainte de simbolul „@”, puteți elimina puncte și adăugați altele noi între orice perechi de litere.

Înainte de caracterul „@”, puteți adăuga un caracter „+” cu orice set de litere și numere după acesta. Exemple pentru adresa „username@gmail.com”:

Toate aceste adrese pot fi deja utilizate la înregistrarea pe site-uri web. Dar, pe cont propriu, nu au sens, deoarece toate mesajele care vin la aceste adrese vor ajunge în căsuța poștală principală. Prin urmare, merită să folosiți instrucțiunile noastre pentru a lucra cu aceste adrese.

Generator Gmail temporar simplu

Deci, să creăm un generator simplu de sub-adrese aleatorii. Pentru a face acest lucru, vom adăuga un șir aleatoriu între caracterele „+” și „@”. În primul rând, trebuie să generăm un șir aleatoriu de o anumită lungime, constând dintr-un anumit set de caractere:

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)];
}

Acum trebuie să obținem adresa de e-mail și să adăugăm șirul aleatoriu generat la ea. Pentru a face acest lucru, vom folosi MailAdress clasa din biblioteca Aspose.Email pentru 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);

Gata! Adresa primită poate fi deja utilizată la înregistrarea pe site-uri web. Site-urile web vor începe în curând să trimită mesaje la această adresă. Să vedem ce putem face cu aceste mesaje.

Utilizați clientul IMAP pentru a opera cu mesajele primite în Gmail generat

În primul rând, pentru a opera pe mesajele primite la o adresă suplimentară, trebuie să ne conectăm la Gmail. IMAP este potrivit pentru acest lucru. Pentru a vă conecta utilizând acest protocol, nu uitați să vă setați contul pentru a permite conectarea la acesta utilizând acest protocol. De asemenea, puteți simplifica conexiunea IMAP cu o parolă dedicată aplicației. Acest lucru vă va permite să evitați necesitatea de a efectua autorizarea OAuth dacă nu doriți să o implementați în aplicația dvs. Accesați setările contului dvs. Google, deschideți secțiunea Securitate și adăugați o parolă pentru aplicație. Nu uitați să salvați parola generată într-un spațiu de stocare securizat și încercați să nu o pierdeți, deoarece vă oferă acces complet la e-mail!

Deci, să folosim ImapClient clasa și conectați-vă la contul dvs. Gmail utilizând protocolul IMAP:

auto imapClient = System::MakeObject<Clients::Imap::ImapClient>(
    u"imap.gmail.com", 993, originalAddress->get_User(), u"password",
    SecurityOptions::SSLAuto);

Terminat, acum putem, de exemplu, să obținem toate mesajele primite la adresa Gmail generată:

imapClient->SelectFolder(u"INBOX");
auto queryBuilder = System::MakeObject<ImapQueryBuilder>();
queryBuilder->get_To()->Contains(generatedAddress->get_Address());

auto list = imapClient->ListMessages(queryBuilder->GetQuery());

Și veți primi absolut toate aceste scrisori. Nu contează de pe ce site au venit la tine. Acestea ar fi putut proveni de pe site-ul la care ați dat adresa de e-mail generată. Ar fi putut veni de pe un alt site. De la orice adresă. Ecranăm e-mailurile nu de către expeditor, ci de către destinatar. Și este foarte convenabil.

Marcați, eliminați, mutați mesajele primite în Gmail temporar

După ce am primit lista de scrisori, putem efectua deja diverse operațiuni pe ea. Mai presus de toate dintr-o dată. Nu trebuie să le găsiți în căsuța poștală unul câte unul. În mod literal, câteva comenzi și toate literele sunt marcate ca citite, mutate într-un alt dosar sau pur și simplu șterse. Doar nu uitați să verificați în prealabil dacă lista de litere nu este goală. Este posibil să fi șters deja totul.

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);
}

Terminat, căsuța de e-mail a fost ștersă de spam.

Abonați-vă la adresa temporară Gmail

Deci, ce se întâmplă dacă nu doriți să ștergeți sau să semnalați în mod constant e-mailurile apelând manual codul de mai sus? Ce se întâmplă dacă doriți să ștergeți e-mailurile imediat ce sunt primite? Pentru a face acest lucru, de exemplu, vă puteți abona la mesaje noi și puteți scrie o funcție care șterge mesajele imediat ce ajung la adresa dvs. de e-mail.

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");

Acest algoritm este ușor simplificat deoarece, în caz de eroare, abonamentul la mesaje noi va fi întrerupt. Puteți îmbunătăți foarte mult algoritmul. Pentru a face acest lucru, trebuie să rafinați algoritmul îmbunătățind gestionarea erorilor. De exemplu, puteți configura reluarea monitorizării în caz de eroare, pentru aceasta puteți utiliza funcția IMAPClient.ResumeMonitoring. Această funcție va restabili o conexiune la serverul IMAP și va relua monitorizarea mesajelor noi.

Din păcate, pentru a utiliza acest algoritm, trebuie să mențineți programul în mod constant în funcțiune oricum. De îndată ce întrerupeți execuția programului, literele noi nu vor mai fi șterse automat. Dar în acest caz, există o altă soluție.

Opriți primirea mesajelor la adresa Gmail generată

Gmail oferă algoritmi pentru filtrarea mesajelor primite. Acești algoritmi funcționează pe partea de serviciu și nu vor lăsa niciodată prin poștă nedorită, dacă, desigur, le configurați corect. Momentan, din păcate, nu vă putem oferi funcționalitatea de a configura de la distanță astfel de filtre folosind C ++, dar intenționăm să adăugăm o astfel de oportunitate în viitorul apropiat. Vă rugăm să urmăriți actualizările noastre!

Deci, dacă doriți să filtrați mesajele care intră în Gmail generat, trebuie mai întâi să creați un șablon de căutare pentru filtru. Iată cel mai simplu cod pentru a obține șablonul:

//Generate Gmail search pattern
auto searchPattern = System::String(u"to:(") + generatedAddress->get_Address() + u")";
Console::WriteLine(searchPattern);

Aici, variabila generatedAddress conține Gmail generat care a fost creat mai devreme în acest articol. Codul de mai sus va crea un șablon de căutare și îl va imprima la terminal. Copiați acest șablon, deoarece veți avea nevoie de el atunci când creați filtrul.

Acum, să descriem pas cu pas cum puteți crea un filtru. Pentru a începe, deschideți interfața web de e-mail Gmail, este disponibilă la legătura. În această interfață, găsiți bara de căutare:

step1

În această bară de căutare, trebuie să introduceți șablonul generat mai devreme în această instrucțiune. Apoi, trebuie să faceți clic pe butonul „Afișați opțiunile de căutare”, care este indicat în captura de ecran de mai jos:

step2

În fereastra de opțiuni de căutare care se deschide, nu este necesar să introduceți date suplimentare, șablonul generat a configurat deja căutarea. Doar faceți clic pe butonul „Creați filtru”.

step3

Ca rezultat, se va deschide fereastra de setări de filtrare:

step4

Aici puteți alege ce ar trebui să facă filtrul cu e-mailurile primite la adresa Gmail generată. Puteți să le arhivați automat, să le marcați ca citite, să le ștergeți și așa mai departe. De regulă, cea mai bună opțiune este ștergerea e-mailurilor. Volumul căsuței poștale este limitat, nu are sens să-l cheltuiți pe depozitarea gunoiului. După ce selectați acțiunile care vi se potrivesc, faceți clic din nou pe butonul „Creați filtru”.

Gata! Filtrul este complet configurat, astfel încât nici un e-mail nedorit nu vă va deranja.

Gestionați filtrele temporare Gmail

Uneori mesajele pe care le primiți de la un anumit site web devin nesolicitate. Ele devin doar gunoi în căsuța poștală și te împiedică să găsești în ea ceea ce este cu adevărat important și interesant pentru tine. Drept urmare, creați un filtru care blochează mesajele nedorite de pe acest site web. Dar dacă mesajele de pe site nu mai sunt spam? De exemplu, doriți să vă recuperați parola. Un site web vă trimite un e-mail cu un link către un formular de resetare a parolei, dar nu îl puteți primi, deoarece filtrul șterge imediat e-mailul.

Din fericire, există o cale elegantă de ieșire din această situație. Puteți reconfigura temporar filtrul astfel încât să nu ștergă aceste e-mailuri. Sau puteți elimina complet filtrul. Să vedem cum se poate face acest lucru.

Mai întâi, deschideți interfața web Gmail. Pe pagina care se deschide, faceți clic pe butonul „Setări”:

step1

În fereastra care se deschide, faceți clic pe butonul „Vedeți toate setările”:

step2

Se va deschide fereastra de setări a contului Gmail. Conține multe file pentru reglarea fină a experienței dvs. de e-mail. Suntem interesați de fila „Filtre și adrese blocate”. Deschideți această filă:

step3

În fila care se deschide, veți vedea o listă de filtre pentru Gmail-urile generate pe care le-ați creat mai devreme, precum și, eventual, alte filtre:

step4

Prin descrierea filtrelor, puteți determina cu ușurință care este responsabil pentru adresa pe care doriți să o deblocați. Făcând clic pe butonul „șterge”, puteți dezactiva definitiv filtrul. Dacă faceți clic pe butonul „editați”, puteți reconfigura filtrul. De exemplu, în loc să ștergeți e-mailurile, le puteți semnala. În acest fel puteți salva filtrul și puteți facilita pornirea acestuia în viitor. Prin editarea filtrului, veți putea primi e-mailurile necesare de pe site. De îndată ce doriți să blocați Gmail generat înapoi, deschideți din nou filtrul cu butonul „editați” și reconfigurați acțiunile.

Asta e tot. Acum sunteți un profesionist cu adrese Gmail generate. Puteți crea un număr mare de adrese și puteți gestiona cu măiestrie fluxul de e-mailuri care vin în Gmail. Folosind adrese suplimentare, veți putea urmări site-urile care transferă datele dvs. către terți fără consimțământul dvs. Veți putea bloca spamul fără a fi nevoie să vă recalificați sistemul anti-spam sau fără a fi nevoie să apăsați butoanele Dezabonare de mai multe ori. Puteți automatiza eliminarea spamului utilizând Aspose.Email .NET sau manual prin setările și interfața Gmail.