Aspose.Email  C++의 경우

C++를 사용하여 Gmail 주소 생성하기

C++를 사용하여 비밀번호로 나만의 임시 Gmail 생성기를 만드세요

  무료 평가판 다운로드
 

Gmail 생성기는 이메일 구독을 관리하는 매우 일반적인 방법입니다.본질적으로 이것은 임시 이메일 주소 제공 업체와 유사하지만 훨씬 더 유연하고 안정적이며 안전합니다.

생성기의 핵심은 추가 Gmail 주소를 만드는 것입니다.다양한 웹 사이트에 등록할 때 이러한 추가 주소를 사용할 수 있습니다.이러한 웹사이트는 사용자가 제공한 주소로 이메일을 보낼 가능성이 높습니다.주소는 추가 주소이므로 모든 편지는 기본 주소로 발송됩니다.그러나 동시에 애플리케이션에서 생성하거나 수동으로 작성한 추가 주소가 서신의 수신자로 표시됩니다.

수신자 주소로 이메일을 검색하면 이메일을 필터링하고 자동으로 작업을 수행할 수 있습니다.일회성 또는 영구적.동의 없이 제3자와 주소를 공유하는 웹사이트를 발견할 수도 있습니다.

예를 들어 사용자 이름+ for.spam.sender@gmail.com 주소를 추가로 생성했다고 가정해 보겠습니다.그런 다음 이 주소를 spam-sender.com 웹사이트로 전달했습니다.잠시 후 other-sender.com과 같은 다른 웹 사이트에서 이메일을 받을 수 있지만 수신자는 사용자 이름+ for.spam.sender@gmail.com 이 됩니다.다른 상황에서는 other-sender.com이 프로모션 이메일을 보내는 이유를 알 수 없지만 대체 주소를 사용했기 때문에 spam-sender.com이 귀하의 주소를 제3자와 공유했음을 쉽게 알 수 있습니다.그렇다면 이러한 사이트의 메일링 리스트를 구독 취소하는 것은 의미가 없습니다.귀하의 추가 주소는 원치 않는 이메일을 보낼 수 있는 일부 공개 기반에 이미 포함되어 있을 수 있습니다.이 추가 주소로 들어오는 모든 메일을 차단하기만 하면 훨씬 쉬워집니다.이러한 이메일이 자동으로 스팸 폴더로 이동되도록 설정하면 더 좋을 것입니다.이렇게 설정하면 이러한 사이트가 스팸을 보내고 있다는 사실을 Gmail에서 인식하기 때문에 이러한 사이트의 사용이 매우 어려워집니다.

이제 C++용 Aspose.Email을 사용하여 이러한 생성기를 구현하는 방법을 알아 보겠습니다.

임시 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 C++용 Aspose.Email 라이브러리의 클래스:

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로 수신한 메시지를 처리합니다.

먼저 추가 주소로 수신한 메시지를 처리하려면 Gmail에 연결해야 합니다.IMAP은 이에 매우 적합합니다.이 프로토콜을 사용하여 연결하려면 이 프로토콜을 사용하여 연결할 수 있도록 계정을 설정하는 것을 잊지 마세요.또한 전용 애플리케이션 암호를 사용하여 IMAP 연결을 단순화할 수 있습니다.이렇게 하면 애플리케이션에 OAuth 인증을 구현하지 않으려는 경우 OAuth 인증을 수행할 필요가 없습니다.Google 계정 설정으로 이동하여 보안 섹션을 열고 앱 비밀번호를 추가하기만 하면 됩니다.생성된 비밀번호는 안전한 저장소에 저장하는 것을 잊지 마세요. 메일에 대한 전체 액세스 권한을 부여하기 때문에 잃어버리지 않도록 조심하세요!

그럼, 사용해 봅시다. ImapClient 클래스하고 IMAP 프로토콜을 사용하여 Gmail 계정에 연결합니다.

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

탭이 열리면 이전에 만든 생성된 Gmail에 대한 필터 목록과 기타 필터가 표시됩니다.

step4

필터 설명을 통해 차단 해제하려는 주소를 담당하는 필터를 쉽게 확인할 수 있습니다.“삭제” 버튼을 클릭하면 필터를 영구적으로 비활성화할 수 있습니다.“편집” 버튼을 클릭하면 필터를 다시 구성할 수 있습니다.예를 들어 이메일을 삭제하는 대신 플래그를 지정할 수 있습니다.이렇게 하면 필터를 저장하여 나중에 더 쉽게 켤 수 있습니다.필터를 편집하면 웹사이트에서 필요한 이메일을 받을 수 있습니다.생성된 Gmail을 다시 차단하려면 ‘편집’ 버튼으로 필터를 다시 열고 작업을 다시 구성하세요.

그게 전부입니다.이제 Gmail 주소가 생성되어 전문가가 되실 수 있습니다.엄청난 수의 주소를 만들고 Gmail로 들어오는 이메일의 흐름을 능숙하게 관리할 수 있습니다.추가 주소를 사용하면 동의 없이 제3자에게 데이터를 전송하는 사이트를 추적할 수 있습니다.스팸 방지 시스템을 다시 교육하거나 구독 취소 버튼을 여러 번 누르지 않고도 스팸을 차단할 수 있습니다.Aspose.Email .NET을 사용하여 스팸 제거를 자동화하거나 설정 및 Gmail 인터페이스를 통해 수동으로 스팸 제거를 자동화할 수 있습니다.