Vygenerujte adresu Gmail pomocí C ++
Vytvořte si vlastní dočasný generátor Gmailu s heslem pomocí C ++
Stáhnout zkušební verzi zdarmaGenerátor Gmailu je poměrně běžný způsob správy e-mailových předplatných. V podstatě se jedná o analog poskytovatele dočasných e-mailových adres, ale mnohem flexibilnější, spolehlivější a bezpečnější.
Podstatou generátoru je vytvoření dalších adres Gmailu. Tyto další adresy můžete použít při registraci na různých webových stránkách. Tyto webové stránky budou s největší pravděpodobností odesílat e-maily na adresy, které uvedete. Vzhledem k tomu, že adresy jsou další, všechna písmena půjdou na vaši hlavní adresu. Současně však bude jako příjemce dopisu uvedena další adresa vygenerovaná aplikací nebo připravená ručně.
Hledání e-mailů podle adresy příjemce vám umožní odfiltrovat e-maily a provádět automatické akce na nich. Jednorázově nebo trvale. Můžete také zachytit webové stránky sdílející vaši adresu s třetími stranami bez vašeho souhlasu.
Řekněme například, že jste vygenerovali další adresu username+ for.spam.sender@gmail.com . Poté jste jej předali na web spam-sender.com. Po nějaké době můžete obdržet e-mail z jiných webových stránek, například other-sender.com, ale příjemcem bude username+ for.spam.sender@gmail.com . V jakékoli jiné situaci byste nebyli schopni zjistit, proč vám other-sender.com posílá propagační e-maily, ale protože jste použili alternativní adresu, je snadné vidět, že spam-sender.com sdílel vaši adresu s třetími stranami. A pokud ano, nemá smysl odhlásit se z e-mailových seznamů těchto stránek. Vaše další adresa již byla pravděpodobně zahrnuta do nějaké veřejné základny pro odesílání nežádoucích e-mailů. Bude to mnohem jednodušší, pokud zablokujete veškerou poštu přicházející na tuto další adresu. Bylo by ještě lepší, kdybyste nastavili automatický pohyb takových e-mailů do složky spamu. Toto nastavení těmto webům velmi ztěžuje život, protože Gmail bude vědět, že tyto weby odesílají spam.
Pojďme tedy zjistit, jak implementovat takový generátor pomocí Aspose.Email pro C ++.
Generujte dočasný Gmail a pracujte s ním
K vygenerování další adresy Gmailu ve skutečnosti nepotřebujeme Aspose.Email, nemusíme žádným způsobem komunikovat se službou Gmail. Jakákoli další adresa, kterou vytvoříte ručně nebo náhodně, s výhradou určitých pravidel, bude fungovat.
Jaká jsou tedy tato pravidla?
Body nejsou důležité. To znamená, že ve vaší adrese před symbolem „@“ můžete odstranit tečky a přidat nové mezi libovolné páry písmen.
Před znakem „@“ můžete přidat znak „+“ s libovolnou sadou písmen a číslic za ním. Příklady pro adresu „username@gmail.com“:
Všechny tyto adresy lze již použít při registraci na webových stránkách. Ale samy o sobě nedávají smysl, protože všechny zprávy přicházející na tyto adresy skončí ve vaší hlavní poštovní schránce. Proto stojí za to použít naše pokyny pro práci s těmito adresami.
Jednoduchý dočasný generátor Gmailu
Pojďme tedy vytvořit jednoduchý generátor náhodných podadres. Za tímto účelem přidáme náhodný řetězec mezi znaky „+“ a „@“. Nejprve musíme vygenerovat náhodný řetězec určité délky, skládající se z určité sady znaků:
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)];
}
Nyní musíme získat e-mailovou adresu a přidat k ní vygenerovaný náhodný řetězec. K tomu použijeme MailAdress třída z knihovny Aspose.Email pro 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);
Hotovo! Přijatou adresu lze již použít při registraci na webových stránkách. Webové stránky brzy začnou odesílat zprávy na tuto adresu. Podívejme se, co můžeme s těmito zprávami udělat.
Použití klienta IMAP k práci se zprávami přijatými do vygenerovaného Gmailu
Za prvé, abychom mohli pracovat na zprávách přijatých na další adrese, musíme se připojit k Gmailu. IMAP je pro to vhodný. Chcete-li se připojit pomocí tohoto protokolu, nezapomeňte nastavit svůj účet tak, aby k němu umožňoval připojení pomocí tohoto protokolu. Připojení IMAP můžete také zjednodušit pomocí vyhrazeného hesla aplikace. To vám umožní vyhnout se nutnosti provádět autorizaci OAuth, pokud ji nechcete implementovat ve své aplikaci. Stačí přejít do nastavení účtu Google, otevřít sekci Zabezpečení a přidat heslo aplikace. Nezapomeňte uložit vygenerované heslo do zabezpečeného úložiště a snažte se ho neztratit, protože vám poskytuje plný přístup k vaší poště!
Tak, pojďme použít ImapClient třída a připojte se ke svému účtu Gmail pomocí protokolu IMAP:
auto imapClient = System::MakeObject<Clients::Imap::ImapClient>(
u"imap.gmail.com", 993, originalAddress->get_User(), u"password",
SecurityOptions::SSLAuto);
Hotovo, nyní můžeme například získat všechny zprávy přijaté na vygenerovanou adresu Gmail:
imapClient->SelectFolder(u"INBOX");
auto queryBuilder = System::MakeObject<ImapQueryBuilder>();
queryBuilder->get_To()->Contains(generatedAddress->get_Address());
auto list = imapClient->ListMessages(queryBuilder->GetQuery());
A obdržíte naprosto všechny takové dopisy. Nezáleží na tom, z jakého webu k vám přišli. Mohli pocházet z webu, kterému jste zadali vygenerovanou e-mailovou adresu. Mohl pocházet z jiného webu. Z jakékoliv adresy. E-maily nekontrolujeme podle odesílatele, ale podle příjemce. A je to velmi pohodlné.
Označte, odeberte a přesuňte přijaté zprávy do dočasného Gmailu
Po obdržení seznamu dopisů na něm již můžeme provádět různé operace. Především najednou. Nemusíte je najít ve své poštovní schránce jeden po druhém. Doslova je několik příkazů a všechna písmena označena jako přečtená, přesunuta do jiné složky nebo jednoduše odstraněna. Nezapomeňte předem zkontrolovat, zda seznam písmen není prázdný. Možná jste již všechno smazali.
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);
}
Hotovo, vaše doručená pošta byla vymazána od spamu.
Přihlaste se k odběru dočasné adresy Gmailu
Co když tedy nechcete e-maily neustále mazat nebo označovat ručním voláním výše uvedeného kódu? Co když chcete smazat e-maily, jakmile jsou přijaty? Chcete-li to provést, můžete se například přihlásit k odběru nových zpráv a napsat funkci, která odstraní zprávy, jakmile dorazí na vaši e-mailovou adresu.
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");
Tento algoritmus je mírně zjednodušený, protože v případě chyby bude předplatné nových zpráv přerušeno. Algoritmus můžete výrazně vylepšit. Chcete-li to provést, musíte algoritmus vylepšit zlepšením zpracování chyb. Můžete například nastavit obnovení monitorování v případě chyby, k tomu můžete použít funkci IMAPClient.ResumeMonitoring. Tato funkce obnoví připojení k serveru IMAP a obnoví monitorování nových zpráv.
Bohužel, abyste mohli tento algoritmus používat, musíte program stále běžet. Jakmile přerušíte provádění programu, nová písmena již nebudou automaticky smazána. Ale v tomto případě existuje další řešení.
Přestaňte přijímat zprávy na vygenerovanou adresu Gmail
Gmail poskytuje algoritmy pro filtrování příchozích zpráv. Tyto algoritmy pracují na straně služby a nikdy nepropustí nechtěnou poštu, pokud je samozřejmě nakonfigurujete správně. V tuto chvíli vám bohužel nemůžeme poskytnout funkci pro vzdálenou konfiguraci takových filtrů pomocí C ++, ale plánujeme takovou příležitost přidat v blízké budoucnosti. Sledujte naše aktualizace!
Pokud tedy chcete filtrovat zprávy přicházející do vygenerovaného Gmailu, musíte nejprve vytvořit šablonu vyhledávání filtru. Zde je nejjednodušší kód pro získání šablony:
//Generate Gmail search pattern
auto searchPattern = System::String(u"to:(") + generatedAddress->get_Address() + u")";
Console::WriteLine(searchPattern);
Zde je proměnná generatedAddress
obsahuje vygenerovaný Gmail, který byl vytvořen dříve v tomto článku. Výše uvedený kód vytvoří vyhledávací šablonu a vytiskne ji do terminálu. Zkopírujte tuto šablonu, protože ji budete potřebovat při vytváření filtru.
Nyní popíšeme krok za krokem, jak můžete vytvořit filtr. Chcete-li začít, otevřete webové rozhraní e-mailu Gmailu, je k dispozici na adrese odkaz. V tomto rozhraní najděte vyhledávací lištu:
V tomto vyhledávacím panelu musíte vložit šablonu vygenerovanou dříve v této instrukci. Dále musíte kliknout na tlačítko „Zobrazit možnosti vyhledávání“, které je uvedeno na následujícím obrázku:
V okně možností vyhledávání, které se otevře, nemusíte zadávat žádná další data, vygenerovaná šablona již nakonfigurovala vyhledávání. Stačí kliknout na tlačítko „Vytvořit filtr“.
V důsledku toho se otevře okno nastavení filtru:
Zde si můžete vybrat, co by měl filtr dělat s e-maily přijatými na vygenerovanou adresu Gmail. Můžete je automaticky archivovat, označit jako přečtené, smazat a tak dále. Nejlepší možností je zpravidla odstranit e-maily. Objem poštovní schránky je omezený, nemá smysl utrácet ji za skladování odpadků. Po výběru akcí, které vám vyhovují, klikněte znovu na tlačítko „Vytvořit filtr“.
Hotovo! Filtr je plně nakonfigurován, takže vás nebude obtěžovat žádná další nevyžádaná pošta.
Správa dočasných filtrů Gmailu
Zprávy, které obdržíte z konkrétního webu, se někdy stanou nevyžádanými. Prostě se stanou odpadky ve vaší poštovní schránce a brání vám v tom, abyste v ní našli to, co je pro vás opravdu důležité a zajímavé. V důsledku toho vytvoříte filtr, který blokuje nežádoucí zprávy z tohoto webu. Ale co když zprávy z webu již nejsou spamem? Například chcete obnovit své heslo. Web vám pošle e-mail s odkazem na formulář pro obnovení hesla, ale nemůžete jej obdržet, protože filtr e-mail okamžitě odstraní.
Naštěstí existuje elegantní cesta z této situace. Filtr můžete dočasně nakonfigurovat tak, aby tyto e-maily neodstranil. Nebo můžete filtr úplně odstranit. Podívejme se, jak to lze udělat.
Nejprve otevřete webové rozhraní Gmailu. Na stránce, která se otevře, klikněte na tlačítko „Nastavení“:
V okně, které se otevře, klikněte na tlačítko „Zobrazit všechna nastavení“:
Otevře se okno nastavení účtu Gmail. Obsahuje mnoho karet pro jemné doladění vašeho e-mailového zážitku. Máme zájem o kartu „Filtry a blokované adresy“. Otevřete tuto kartu:
Na kartě, která se otevře, uvidíte seznam filtrů pro vygenerované Gmails, které jste vytvořili dříve, a případně další filtry:
Podle popisu filtrů můžete snadno určit, který z nich je zodpovědný za adresu, kterou chcete odblokovat. Kliknutím na tlačítko „smazat“ můžete filtr trvale deaktivovat. Pokud kliknete na tlačítko „Upravit“, můžete filtr znovu nakonfigurovat. Například místo mazání e-mailů je můžete označit. Tímto způsobem můžete filtr uložit a usnadnit jeho zapnutí v budoucnu. Úpravou filtru budete moci přijímat potřebné e-maily z webu. Jakmile chcete zablokovat vygenerovaný Gmail zpět, otevřete filtr znovu tlačítkem „Upravit“ a znovu nakonfigurujte akce.
To je vše. Nyní jste profesionál s vygenerovanými adresami Gmailu. Můžete vytvořit obrovské množství adres a mistrovsky spravovat tok e-mailů přicházejících do vašeho Gmailu. Pomocí dalších adres budete moci sledovat weby, které přenášejí vaše údaje třetím stranám bez vašeho souhlasu. Budete moci blokovat spam, aniž byste museli rekvalifikovat svůj antispamový systém nebo aniž byste museli několikrát stisknout tlačítka Odhlásit. Odstranění spamu můžete automatizovat pomocí Aspose.Email .NET nebo ručně prostřednictvím nastavení a rozhraní Gmail.