Aspose.Email  C++ için

C ++ kullanarak Gmail adresi oluşturun

C++ kullanarak şifre ile kendi geçici Gmail jeneratörünüzü oluşturun

  Ücretsiz Deneme İndirin
 

Gmail jeneratörü, e-posta aboneliklerini yönetmenin oldukça yaygın bir yoludur. Özünde, bu geçici e-posta adresi sağlayıcısının bir analogudur, ancak çok daha esnek, güvenilir ve güvenlidir.

Jeneratörün özü ek Gmail adresleri oluşturmaktır. Çeşitli web sitelerine kaydolurken bu ek adresleri kullanabilirsiniz. Bu web siteleri büyük olasılıkla sağladığınız adreslere e-posta gönderecektir. Adresler ek olduğundan, tüm harfler ana adresinize gidecektir. Ancak aynı zamanda, uygulama tarafından oluşturulan veya manuel olarak hazırlanan ek bir adres mektubun alıcısı olarak belirtilecektir.

E-postaları alıcının adresine göre aramak, e-postaları filtrelemenize ve bunlar üzerinde otomatik işlemler gerçekleştirmenize olanak tanır. Tek seferlik veya kalıcı. Adresinizi üçüncü şahıslarla paylaşan web sitelerini izniniz olmadan da yakalayabilirsiniz.

Örneğin, ek bir adres kullanıcı adı+ for.spam.sender@gmail.com oluşturduğunuzu varsayalım. Daha sonra spam-sender.com web sitesine ilettiniz. Bir süre sonra, other-sender.com gibi başka bir web sitesinden bir e-posta alabilirsiniz, ancak alıcı username+ for.spam.sender@gmail.com olacaktır. Başka bir durumda, other-sender.com’un neden size promosyon e-postaları gönderdiğini anlayamazsınız, ancak alternatif bir adres kullandığınız için, spam-sender.com’un adresinizi üçüncü taraflarla paylaştığını görmek kolaydır. Ve eğer öyleyse, bu sitelerin posta listelerinden çıkmanın bir anlamı yoktur. Ek adresiniz muhtemelen istenmeyen e-postalar göndermek için bazı genel tabanlara zaten dahil edilmiştir. Bu ek adrese gelen tüm postaları engellerseniz çok daha kolay olacaktır. Bu tür e-postaların spam klasörüne otomatik olarak hareket etmesini ayarlarsanız daha da iyi olur. Bu kurulum, bu siteler için hayatı çok zorlaştıracak çünkü Gmail bu sitelerin spam gönderdiğini bilecek.

Öyleyse, C++ için Aspose.Email kullanarak böyle bir jeneratörün nasıl uygulanacağını bulalım.

Geçici Gmail oluşturun ve onunla çalışın

Ek bir Gmail adresi oluşturmak için aslında Aspose.E-mail’e ihtiyacımız yok, Gmail hizmetiyle herhangi bir şekilde etkileşime girmemize gerek yok. Belirli kurallara tabi olarak manuel veya rastgele oluşturduğunuz herhangi bir ek adres işe yarayacaktır.

Peki bu kurallar nelerdir?

Noktalar önemli değil. Yani, adresinizde, ‘@’ sembolünden önce, hem noktaları kaldırabilir hem de herhangi bir harf çifti arasına yenilerini ekleyebilirsiniz.

‘@ ‘karakterinden önce, arkasında herhangi bir harf ve sayı kümesiyle bir’ + ‘karakteri ekleyebilirsiniz. “username@gmail.com” adresi için örnekler:

Tüm bu adresler web sitelerine kaydolurken zaten kullanılabilir. Ancak kendi başlarına, çok az anlam ifade ediyorlar, çünkü bu adreslere gelen tüm mesajlar ana posta kutunuza girecek. Bu nedenle, bu adreslerle çalışmak için talimatlarımızı kullanmaya değer.

Basit geçici Gmail üreteci

Öyleyse basit bir rastgele alt adres üreteci oluşturalım. Bunu yapmak için ‘+’ ve ‘@’ karakterleri arasına rastgele bir dize ekleyeceğiz. Her şeyden önce, belirli bir karakter kümesinden oluşan belirli bir uzunlukta rastgele bir dize oluşturmamız gerekir:

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

Şimdi e-posta adresini almamız ve oluşturulan rastgele dizeyi eklememiz gerekiyor. Bunu yapmak için kullanacağız MailAdress C++ kitaplığı için Aspose.Email sınıfından:

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

Bitti! Alınan adres, web sitelerine kayıt olurken zaten kullanılabilir. Web siteleri yakında bu adrese mesaj göndermeye başlayacak. Bakalım bu mesajlarla neler yapabiliriz.

Oluşturulan Gmail’e alınan iletilerle çalışmak için IMAP istemcisini kullanın

İlk olarak, ek bir adreste alınan mesajlar üzerinde çalışmak için Gmail’e bağlanmamız gerekir. IMAP bunun için çok uygundur. Bu protokolü kullanarak bağlanmak için, hesabınızı bu protokolü kullanarak bağlantıya izin verecek şekilde ayarlamayı unutmayın. Ayrıca, özel bir uygulama parolası ile IMAP bağlantısını basitleştirebilirsiniz. Bu, uygulamanızda uygulamak istemiyorsanız OAuth yetkilendirmesini gerçekleştirme ihtiyacından kaçınmanıza olanak tanır. Sadece Google hesap ayarlarınıza gidin, Güvenlik bölümünü açın ve bir Uygulama şifresi ekleyin. Oluşturulan şifreyi güvenli depolama alanına kaydetmeyi unutmayın ve kaybetmemeye çalışın, çünkü postanıza tam erişim sağlar!

Yani, hadi kullanalım ImapClient IMAP protokolünü kullanarak Gmail hesabınıza sınıflayın ve bağlanın:

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

Bitti, şimdi, örneğin, oluşturulan Gmail adresinden alınan tüm mesajları alabiliriz:

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

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

Ve kesinlikle tüm bu mektupları alacaksınız. Size hangi siteden geldikleri önemli değil. Oluşturulan e-posta adresini verdiğiniz siteden gelmiş olabilirler. Başka bir siteden gelmiş olabilir. Herhangi bir adresten. E-postaları gönderene göre değil, alıcı tarafından tararız. Ve çok uygun.

Geçici Gmail’e alınan iletileri işaretleyin, kaldırın, taşıyın

Mektup listesini aldıktan sonra, üzerinde çeşitli işlemler gerçekleştirebiliriz. Her şeyden önce bir kerede. Bunları posta kutunuzda tek tek bulmak zorunda değilsiniz. Kelimenin tam anlamıyla, birkaç komut ve tüm harfler okundu olarak işaretlenir, başka bir klasöre taşınır veya basitçe silinir. Sadece harf listesinin boş olmadığını önceden kontrol etmeyi unutmayın. Her şeyi zaten silmiş olabilirsiniz.

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

Bitti, gelen kutunuz spam’den temizlendi.

Geçici Gmail adresine abone olun

Peki ya yukarıdaki kodu manuel olarak arayarak e-postaları sürekli silmek veya işaretlemek istemiyorsanız? E-postaları alır almaz silmek isterseniz ne olur? Bunu yapmak için, örneğin, yeni mesajlara abone olabilir ve mesajları e-posta adresinize ulaşır ulaşmaz silen bir işlev yazabilirsiniz.

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

Bu algoritma biraz basitleştirilmiştir, çünkü bir hata durumunda, yeni mesajlara abonelik kesintiye uğrar. Algoritmayı büyük ölçüde geliştirebilirsiniz. Bunu yapmak için, hata işlemeyi geliştirerek algoritmayı iyileştirmeniz gerekir. Örneğin, bir hata durumunda izlemenin yeniden başlatılmasını ayarlayabilirsiniz, bunun için IMAPClient.ResumeMonitoring işlevini kullanabilirsiniz. Bu işlev, IMAP sunucusuna yeniden bağlantı kurar ve yeni iletiler için izlemeye devam eder.

Ne yazık ki, bu algoritmayı kullanmak için, programı yine de sürekli çalışır durumda tutmanız gerekir. Programın yürütülmesini keser kesmez, yeni harfler artık otomatik olarak silinmeyecektir. Ancak bu durumda, başka bir çözüm var.

Oluşturulan Gmail adresine mesaj almayı durdurun

Gmail, gelen mesajları filtrelemek için algoritmalar sağlar. Bu algoritmalar servis tarafında çalışır ve elbette doğru şekilde yapılandırırsanız, istenmeyen postaların iletilmesine asla izin vermez. Şu anda, ne yazık ki, size C ++ kullanarak bu tür filtreleri uzaktan yapılandırma işlevselliği sağlayamıyoruz, ancak yakın gelecekte böyle bir fırsat eklemeyi planlıyoruz. Lütfen güncellemelerimizi takip edin!

Bu nedenle, oluşturulan Gmail’e gelen mesajları filtrelemek istiyorsanız, önce filtre için bir arama şablonu oluşturmanız gerekir. İşte şablonu almak için en basit kod:

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

İşte değişken generatedAddress bu makalede daha önce oluşturulan Gmail’i içerir. Yukarıdaki kod bir arama şablonu oluşturacak ve terminale yazdıracaktır. Filtreyi oluştururken ihtiyacınız olacağından bu şablonu kopyalayın.

Şimdi nasıl filtre oluşturabileceğinizi adım adım açıklayalım. Başlamak için Gmail e-posta web arayüzünü açın, şu adreste mevcuttur: link. Bu arayüzde arama çubuğunu bulun:

step1

Bu arama çubuğunda, bu talimatta daha önce oluşturulan şablonu eklemeniz gerekir. Ardından, aşağıdaki ekran görüntüsünde belirtilen “Arama seçeneklerini göster” düğmesine tıklamanız gerekir:

step2

Açılan arama seçenekleri penceresinde, herhangi bir ek veri girmenize gerek yoktur, oluşturulan şablon zaten aramayı yapılandırmıştır. Sadece “Filtre oluştur” düğmesine tıklayın.

step3

Sonuç olarak, filtre ayarları penceresi açılacaktır:

step4

Burada, oluşturulan Gmail adresinden alınan e-postalarla filtrenin ne yapması gerektiğini seçebilirsiniz. Bunları otomatik olarak arşivleyebilir, okundu olarak işaretleyebilir, silebilir vb. Kural olarak, en iyi seçenek e-postaları silmektir. Posta kutusunun hacmi sınırlıdır, çöp deposuna harcamanın bir anlamı yoktur. Size uygun eylemleri seçtikten sonra, tekrar “Filtre oluştur” düğmesine tıklayın.

Bitti! Filtre tamamen yapılandırılmıştır, bu nedenle daha fazla önemsiz posta sizi rahatsız etmeyecektir.

Geçici Gmail filtrelerini yönetin

Bazen belirli bir web sitesinden aldığınız mesajlar istenmeyen hale gelir. Sadece posta kutunuzda çöp haline geliyorlar ve sizin için gerçekten önemli ve ilginç olanı bulmanızı engelliyorlar. Sonuç olarak, bu web sitesinden istenmeyen mesajları engelleyen bir filtre oluşturursunuz. Peki ya web sitesinden gelen mesajlar artık spam değilse? Örneğin, şifrenizi kurtarmak istiyorsunuz. Bir web sitesi size şifre sıfırlama formuna bağlantı içeren bir e-posta gönderir, ancak filtre e-postayı hemen sildiği için alamazsınız.

Neyse ki, bu durumdan çıkmanın zarif bir yolu var. Filtreyi, bu e-postaları silmemesi için geçici olarak yeniden yapılandırabilirsiniz. Veya filtreyi tamamen kaldırabilirsiniz. Bunun nasıl yapılabileceğini görelim.

İlk önce Gmail web arayüzünü açın. Açılan sayfada “Ayarlar” düğmesine tıklayın:

step1

Açılan pencerede, “Tüm ayarları gör” düğmesine tıklayın:

step2

Gmail hesap ayarları penceresi açılacaktır. E-posta deneyiminize ince ayar yapmak için birçok sekme içerir. “Filtreler ve Engellenen Adresler” sekmesiyle ilgileniyoruz. Bu sekmeyi aç:

step3

Açılan sekmede, daha önce oluşturduğunuz oluşturulan Gmail’ler için filtrelerin bir listesini ve muhtemelen diğer filtreleri göreceksiniz:

step4

Filtrelerin açıklamasına göre, engelini kaldırmak istediğiniz adresden hangisinin sorumlu olduğunu kolayca belirleyebilirsiniz. “Sil” düğmesine tıklayarak, filtreyi kalıcı olarak devre dışı bırakabilirsiniz. “Düzenle” düğmesine tıklarsanız, filtreyi yeniden yapılandırabilirsiniz. Örneğin, e-postaları silmek yerine, onları işaretleyebilirsiniz. Bu şekilde filtreyi kaydedebilir ve gelecekte açmayı kolaylaştırabilirsiniz. Filtreyi düzenleyerek, web sitesinden gerekli e-postaları alabileceksiniz. Oluşturulan Gmail’i geri engellemek istediğiniz anda, filtreyi “düzenle” düğmesiyle tekrar açın ve eylemleri yeniden yapılandırın.

Hepsi bu kadar. Artık oluşturulmuş Gmail adreslerine sahip bir profesyonelsiniz. Çok sayıda adres oluşturabilir ve Gmail’inize gelen e-postaların akışını ustaca yönetebilirsiniz. Ek adresler kullanarak, verilerinizi izniniz olmadan üçüncü taraflara aktaran siteleri izleyebileceksiniz. Anti-spam sisteminizi yeniden eğitmek zorunda kalmadan veya Abonelikten çıkma düğmelerine birden çok kez basmak zorunda kalmadan spam"i engelleyebilirsiniz.. Aspose.Email .NET kullanarak veya ayarlar ve Gmail arayüzü üzerinden manuel olarak spam kaldırmayı otomatikleştirebilirsiniz.