Aspose.Email  สำหรับ C ++

สร้างที่อยู่ Gmail โดยใช้ C ++

สร้างตัวสร้าง Gmail ชั่วคราวของคุณเองด้วยรหัสผ่านโดยใช้ C ++

  ดาวน์โหลดฟรีทดลอง
 

เครื่องสร้าง Gmail เป็นวิธีที่พบได้ทั่วไปในการจัดการการสมัครรับอีเมลโดยพื้นฐานแล้วนี่เป็นอะนาล็อกของผู้ให้บริการที่อยู่อีเมลชั่วคราว แต่มีความยืดหยุ่นเชื่อถือได้และปลอดภัยมากขึ้น

สาระสำคัญของเครื่องกำเนิดไฟฟ้าคือการสร้างที่อยู่ Gmail เพิ่มเติมคุณสามารถใช้ที่อยู่เพิ่มเติมเหล่านี้เมื่อลงทะเบียนบนเว็บไซต์ต่างๆเว็บไซต์เหล่านี้มักจะส่งอีเมลไปยังที่อยู่ที่คุณให้ไว้เนื่องจากที่อยู่เป็นข้อมูลเพิ่มเติมตัวอักษรทั้งหมดจะไปที่ที่อยู่หลักของคุณแต่ในเวลาเดียวกันที่อยู่เพิ่มเติมที่สร้างโดยแอปพลิเคชันหรือจัดทำด้วยตนเองจะถูกระบุว่าเป็นผู้รับจดหมาย

การค้นหาอีเมลตามที่อยู่ของผู้รับจะช่วยให้คุณกรองอีเมลออกและดำเนินการโดยอัตโนมัติกับอีเมลเหล่านั้นครั้งเดียวหรือถาวรนอกจากนี้คุณยังสามารถดูเว็บไซต์ที่แชร์ที่อยู่ของคุณกับบุคคลที่สามโดยไม่ได้รับความยินยอมจากคุณ

ตัวอย่างเช่น สมมติว่าคุณสร้างชื่อผู้ใช้ที่อยู่เพิ่มเติม+ for.spam.sender@gmail.com จากนั้นคุณส่งไปยังเว็บไซต์ spam-sender.comหลังจากผ่านไปสักครู่คุณอาจได้รับอีเมลจากเว็บไซต์อื่น ๆ เช่น other-sender.com แต่ผู้รับจะเป็นชื่อผู้ใช้+ for.spam.sender@gmail.com ในสถานการณ์อื่น ๆ คุณจะไม่สามารถทราบได้ว่าทำไม other-sender.com ถึงส่งอีเมลส่งเสริมการขายถึงคุณ แต่เนื่องจากคุณใช้ที่อยู่อื่นแล้ว จึงเป็นเรื่องง่ายที่จะเห็นว่า spam-sender.com ได้แชร์ที่อยู่ของคุณกับบุคคลที่สามและถ้าเป็นเช่นนั้นก็ไม่มีเหตุผลที่จะยกเลิกการสมัครรับจดหมายจากรายการส่งจดหมายของเว็บไซต์เหล่านี้ที่อยู่เพิ่มเติมของคุณอาจรวมอยู่ในฐานสาธารณะบางแห่งสำหรับการส่งอีเมลที่ไม่พึงประสงค์มันจะง่ายกว่ามากถ้าคุณเพียงบล็อกอีเมลทั้งหมดที่มาถึงที่อยู่เพิ่มเติมนี้มันจะดีกว่าถ้าคุณตั้งค่าการเคลื่อนย้ายอีเมลดังกล่าวไปยังโฟลเดอร์สแปมโดยอัตโนมัติการตั้งค่านี้จะทำให้ชีวิตยากมากสำหรับไซต์เหล่านี้เพราะ Gmail จะรู้ว่าไซต์เหล่านี้กำลังส่งสแปม

ดังนั้นเรามาหาวิธีใช้เครื่องกำเนิดไฟฟ้าดังกล่าวโดยใช้ Aspose.Email สำหรับ C ++

สร้าง Gmail ชั่วคราวและทำงานกับมัน

ในการสร้างที่อยู่ Gmail เพิ่มเติม เราไม่จำเป็นต้องใช้ Aspose.Email เราไม่จำเป็นต้องโต้ตอบกับบริการ Gmail ในทางใดทางหนึ่งที่อยู่เพิ่มเติมที่คุณสร้างขึ้นด้วยตนเองหรือแบบสุ่มภายใต้กฎบางอย่างจะใช้งานได้

แล้วกฎเหล่านี้คืออะไร?

ประเด็นไม่สำคัญนั่นคือในที่อยู่ของคุณก่อนสัญลักษณ์ ‘@’ คุณสามารถลบจุดและเพิ่มจุดใหม่ระหว่างตัวอักษรคู่ใดก็ได้

ก่อนอักขระ ‘@’ คุณสามารถเพิ่มอักขระ ‘+’ ด้วยชุดตัวอักษรและตัวเลขใด ๆ หลังจากนั้นได้ ตัวอย่างสำหรับที่อยู่ “username@gmail.com”:

ที่อยู่ทั้งหมดเหล่านี้สามารถใช้ได้เมื่อลงทะเบียนบนเว็บไซต์แต่ด้วยตัวเองพวกเขาไม่สมเหตุสมผลเพราะข้อความทั้งหมดที่มาถึงที่อยู่เหล่านี้จะลงเอยอยู่ในกล่องจดหมายหลักของคุณดังนั้นจึงคุ้มค่าที่จะใช้คำแนะนำของเราสำหรับการทำงานกับที่อยู่เหล่านี้

เครื่องสร้าง Gmail ชั่วคราวอย่างง่าย

ดังนั้นเรามาสร้างตัวสร้างที่อยู่ย่อยแบบสุ่มอย่างง่ายในการทำเช่นนี้เราจะเพิ่มสตริงสุ่มระหว่างอักขระ ‘+’ และ ‘@‘ก่อนอื่นเราจำเป็นต้องสร้างสตริงสุ่มที่มีความยาวที่แน่นอนซึ่งประกอบด้วยชุดอักขระที่แน่นอน:

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

ตอนนี้เราต้องรับที่อยู่อีเมลและเพิ่มสตริงสุ่มที่สร้างขึ้นมาในการทำเช่นนี้เราจะใช้ MailAdress คลาสจากไลบรารี Aspose.Email สำหรับ 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);

เสร็จแล้ว!ที่อยู่ที่ได้รับสามารถใช้ได้แล้วเมื่อลงทะเบียนบนเว็บไซต์เว็บไซต์จะเริ่มส่งข้อความไปยังที่อยู่นี้ในไม่ช้ามาดูกันว่าเราสามารถทำอะไรกับข้อความเหล่านี้

ใช้ไคลเอ็นต์ IMAP เพื่อทำงานกับข้อความที่ได้รับไปยัง Gmail ที่สร้างขึ้น

ขั้นแรกในการทำงานกับข้อความที่ได้รับจากที่อยู่เพิ่มเติมเราจำเป็นต้องเชื่อมต่อกับ GmailIMAP เหมาะอย่างยิ่งสำหรับสิ่งนี้หากต้องการเชื่อมต่อโดยใช้โปรโตคอลนี้ อย่าลืมตั้งค่าบัญชีของคุณให้อนุญาตให้เชื่อมต่อโดยใช้โปรโตคอลนี้นอกจากนี้คุณสามารถลดความซับซ้อนในการเชื่อมต่อ IMAP ด้วยรหัสผ่านแอปพลิเคชันเฉพาะสิ่งนี้จะช่วยให้คุณหลีกเลี่ยงความจำเป็นในการดำเนินการอนุญาต OAuth หากคุณไม่ต้องการนำไปใช้ในแอปพลิเคชันของคุณเพียงไปที่การตั้งค่าบัญชี Google ของคุณเปิดส่วนความปลอดภัยและเพิ่มรหัสผ่านแอปอย่าลืมบันทึกรหัสผ่านที่สร้างไว้ในที่เก็บข้อมูลที่ปลอดภัยและพยายามไม่สูญเสียเพราะจะช่วยให้คุณเข้าถึงอีเมลของคุณได้อย่างเต็มที่!

ดังนั้นเรามาใช้กันเถอะ ImapClient คลาสและเชื่อมต่อกับบัญชี Gmail ของคุณโดยใช้โปรโตคอล IMAP:

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

เสร็จแล้วตอนนี้เราสามารถรับข้อความทั้งหมดที่ได้รับจากที่อยู่ Gmail ที่สร้างขึ้น:

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

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

และคุณจะได้รับจดหมายดังกล่าวทั้งหมดไม่สำคัญว่าพวกเขามาหาคุณจากไซต์ใดพวกเขาอาจมาจากเว็บไซต์ที่คุณให้ที่อยู่อีเมลที่สร้างขึ้นอาจมาจากไซต์อื่นจากที่อยู่ใด ๆเราตรวจสอบอีเมลไม่ใช่โดยผู้ส่ง แต่โดยผู้รับและสะดวกมาก

ทำเครื่องหมายลบย้ายข้อความที่ได้รับไปยัง Gmail ชั่วคราว

เมื่อได้รับรายการจดหมายแล้วเราสามารถดำเนินการต่างๆได้แล้วเหนือสิ่งอื่นใดในคราวเดียวคุณไม่จำเป็นต้องค้นหาข้อมูลเหล่านั้นในกล่องจดหมายของคุณทีละรายการคำสั่งสองสามคำสั่งและตัวอักษรทั้งหมดจะถูกทำเครื่องหมายว่าอ่านย้ายไปยังโฟลเดอร์อื่นหรือเพียงแค่ลบอย่าลืมตรวจสอบล่วงหน้าว่ารายการตัวอักษรไม่ว่างเปล่าคุณอาจลบทุกอย่างแล้ว

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

เสร็จแล้ว กล่องจดหมายของคุณถูกลบจากสแปมแล้ว

สมัครสมาชิกที่อยู่ Gmail ชั่วคราว

แล้วถ้าคุณไม่ต้องการลบหรือทำเครื่องหมายอีเมลอย่างต่อเนื่องโดยเรียกรหัสด้านบนด้วยตนเอง?จะเกิดอะไรขึ้นถ้าคุณต้องการลบอีเมลทันทีที่ได้รับในการทำเช่นนี้คุณสามารถสมัครรับข้อความใหม่และเขียนฟังก์ชันที่ลบข้อความทันทีที่มาถึงที่อยู่อีเมลของคุณ

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

อัลกอริทึมนี้ทำให้ง่ายขึ้นเล็กน้อยเพราะในกรณีที่เกิดข้อผิดพลาดการสมัครรับข้อความใหม่จะถูกขัดจังหวะคุณสามารถปรับปรุงอัลกอริทึมได้อย่างมากในการทำเช่นนี้คุณต้องปรับแต่งอัลกอริทึมโดยปรับปรุงการจัดการข้อผิดพลาดตัวอย่างเช่นคุณสามารถตั้งค่าการดำเนินการตรวจสอบใหม่ในกรณีที่เกิดข้อผิดพลาดสำหรับสิ่งนี้คุณสามารถใช้ฟังก์ชัน imapClient.ResumeMonitoringฟังก์ชั่นนี้จะสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ IMAP อีกครั้งและดำเนินการตรวจสอบข้อความใหม่

น่าเสียดายที่ในการใช้อัลกอริทึมนี้คุณต้องทำให้โปรแกรมทำงานอยู่ตลอดเวลาทันทีที่คุณขัดขวางการทำงานของโปรแกรมตัวอักษรใหม่จะไม่ถูกลบโดยอัตโนมัติอีกต่อไปแต่ในกรณีนี้มีทางออกอื่น

หยุดรับข้อความไปยังที่อยู่ Gmail ที่สร้างขึ้น

Gmail มีอัลกอริทึมสำหรับการกรองข้อความขาเข้าอัลกอริทึมเหล่านี้ทำงานในด้านบริการและจะไม่ปล่อยให้ส่งจดหมายที่ไม่ต้องการหากคุณกำหนดค่าอย่างถูกต้องในขณะนี้น่าเสียดายที่เราไม่สามารถจัดหาฟังก์ชั่นในการกำหนดค่าตัวกรองดังกล่าวจากระยะไกลโดยใช้ C ++ ได้ แต่เราวางแผนที่จะเพิ่มโอกาสดังกล่าวในอนาคตอันใกล้โปรดติดตามการอัปเดตของเรา!

ดังนั้นหากคุณต้องการกรองข้อความที่เข้ามาใน Gmail ที่สร้างขึ้นคุณต้องสร้างเทมเพลตการค้นหาสำหรับตัวกรองก่อนนี่คือรหัสที่ง่ายที่สุดในการรับเทมเพลต:

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

ที่นี่ตัวแปร generatedAddress มี Gmail ที่สร้างขึ้นซึ่งสร้างขึ้นก่อนหน้านี้ในบทความนี้รหัสข้างต้นจะสร้างเทมเพลตการค้นหาและพิมพ์ไปยังเทอร์มินัลคัดลอกเทมเพลตนี้เพราะคุณจะต้องการเมื่อสร้างตัวกรอง

ตอนนี้เรามาอธิบายทีละขั้นตอนวิธีที่คุณสามารถสร้างตัวกรองในการเริ่มต้นให้เปิดเว็บอินเตอร์เฟซอีเมล Gmail ซึ่งมีให้ได้ที่ ลิงก์.ในอินเทอร์เฟซนี้ค้นหาแถบค้นหา:

step1

ในแถบค้นหานี้คุณต้องแทรกเทมเพลตที่สร้างขึ้นก่อนหน้านี้ในคำแนะนำนี้ถัดไปคุณต้องคลิกที่ปุ่ม “แสดงตัวเลือกการค้นหา” ซึ่งระบุไว้ในภาพหน้าจอด้านล่าง:

step2

ในหน้าต่างตัวเลือกการค้นหาที่เปิดขึ้นคุณไม่จำเป็นต้องป้อนข้อมูลเพิ่มเติมใด ๆ เทมเพลตที่สร้างขึ้นได้กำหนดค่าการค้นหาแล้วเพียงคลิกที่ปุ่ม “สร้างตัวกรอง”

step3

เป็นผลให้หน้าต่างการตั้งค่าตัวกรองจะเปิดขึ้น:

step4

ที่นี่คุณสามารถเลือกว่าตัวกรองควรทำอย่างไรกับอีเมลที่ได้รับจากที่อยู่ Gmail ที่สร้างขึ้นคุณสามารถเก็บถาวรโดยอัตโนมัติทำเครื่องหมายว่าอ่านลบและอื่น ๆตามกฎแล้วตัวเลือกที่ดีที่สุดคือการลบอีเมลปริมาณของกล่องจดหมายถูก จำกัด มันไม่สมเหตุสมผลที่จะใช้ในการจัดเก็บขยะหลังจากที่คุณเลือกการกระทำที่เหมาะสมกับคุณให้คลิกที่ปุ่ม “สร้างตัวกรอง” อีกครั้ง

เสร็จแล้ว!ตัวกรองได้รับการกำหนดค่าอย่างสมบูรณ์ดังนั้นจึงไม่มีจดหมายขยะที่จะรบกวนคุณอีกต่อไป

จัดการตัวกรอง Gmail ชั่วคราว

บางครั้งข้อความที่คุณได้รับจากเว็บไซต์ใดเว็บไซต์หนึ่งกลายเป็นข้อความที่ไม่พึงประสงค์พวกเขาเพียงกลายเป็นขยะในกล่องจดหมายของคุณและป้องกันไม่ให้คุณค้นหาสิ่งที่สำคัญและน่าสนใจสำหรับคุณจริงๆเป็นผลให้คุณสร้างตัวกรองที่บล็อกข้อความที่ไม่พึงประสงค์จากเว็บไซต์นี้แต่ถ้าข้อความจากเว็บไซต์ไม่ใช่สแปมอีกต่อไปตัวอย่างเช่นคุณต้องการกู้คืนรหัสผ่านของคุณเว็บไซต์ส่งอีเมลพร้อมลิงก์ไปยังแบบฟอร์มรีเซ็ตรหัสผ่าน แต่คุณไม่สามารถรับได้เนื่องจากตัวกรองจะลบอีเมลทันที

โชคดีที่มีวิธีที่สง่างามออกจากสถานการณ์นี้คุณสามารถกำหนดค่าตัวกรองใหม่ชั่วคราวเพื่อไม่ให้ลบอีเมลเหล่านี้หรือคุณสามารถลบตัวกรองออกได้ทั้งหมดมาดูกันว่าจะทำได้อย่างไร

ก่อนอื่นให้เปิดอินเทอร์เฟซเว็บ Gmailในหน้าที่เปิดขึ้นให้คลิกที่ปุ่ม “การตั้งค่า”:

step1

ในหน้าต่างที่เปิดขึ้นให้คลิกที่ปุ่ม “ดูการตั้งค่าทั้งหมด”:

step2

หน้าต่างการตั้งค่าบัญชี Gmail จะเปิดขึ้นมีแท็บมากมายสำหรับการปรับประสบการณ์อีเมลของคุณให้ละเอียดเราสนใจแท็บ “ตัวกรองและที่อยู่ที่ถูกบล็อก”เปิดแท็บนี้:

step3

ในแท็บที่เปิดขึ้นคุณจะเห็นรายการตัวกรองสำหรับ Gmails ที่สร้างขึ้นที่คุณสร้างก่อนหน้านี้รวมถึงตัวกรองอื่น ๆ:

step4

โดยคำอธิบายของตัวกรองคุณสามารถกำหนดได้อย่างง่ายดายว่าอันใดรับผิดชอบต่อที่อยู่ที่คุณต้องการปลดบล็อคโดยคลิกที่ปุ่ม “ลบ” คุณสามารถปิดใช้งานตัวกรองได้อย่างถาวรหากคุณคลิกที่ปุ่ม “แก้ไข” คุณสามารถกำหนดค่าตัวกรองใหม่ได้ตัวอย่างเช่นแทนที่จะลบอีเมลคุณสามารถทำเครื่องหมายได้ด้วยวิธีนี้คุณสามารถบันทึกตัวกรองและทำให้การเปิดใช้งานได้ง่ายขึ้นในอนาคตโดยการแก้ไขตัวกรองคุณจะสามารถรับอีเมลที่จำเป็นจากเว็บไซต์ทันทีที่คุณต้องการบล็อก Gmail ที่สร้างขึ้นกลับให้เปิดตัวกรองอีกครั้งด้วยปุ่ม “แก้ไข” และกำหนดค่าการกระทำใหม่

นั่นคือทั้งหมดตอนนี้คุณเป็นมืออาชีพที่มีที่อยู่ Gmail ที่สร้างขึ้นคุณสามารถสร้างที่อยู่จำนวนมากและจัดการการไหลของอีเมลที่มาไปยัง Gmail ของคุณได้อย่างยอดเยี่ยมการใช้ที่อยู่เพิ่มเติมคุณจะสามารถติดตามไซต์ที่ถ่ายโอนข้อมูลของคุณไปยังบุคคลที่สามโดยไม่ได้รับความยินยอมจากคุณคุณจะสามารถบล็อกสแปมได้โดยไม่ต้องฝึกอบรมระบบป้องกันสแปมใหม่หรือโดยไม่ต้องกดปุ่มยกเลิกการสมัครสมาชิกหลายครั้งคุณสามารถลบสแปมโดยอัตโนมัติโดยใช้ Aspose.Email .NET หรือด้วยตนเองผ่านการตั้งค่าและอินเทอร์เฟซ Gmail