ivan
  • ivan
  • 100% (Exalted)
  • Administration Topic Starter
14 years ago
C++/CLI Example

Hotmail/MSN Live POP3 server address is "pop3.live.com". It requires SSL connection on 995 port, and you should use your Hotmail/MSN email address as the user name for user authentication. For example: your email is "liveid@hotmail.com", and then the user name should be "liveid@hotmail.com".

// The following example codes demonstrate retrieving email from Hotmail/MSN Live POP3 server
// To get full sample projects, please download and install EAGetMail on your machine.
// To run it correctly, please change email server, user, password, folder, file name value to yours


#include "stdafx.h" 

using namespace System; 
using namespace System::IO; 

// Add EAGetMail namespace
using namespace EAGetMail; 

int main(array<System::String ^> ^args) 
{ 
    // Create a folder named "inbox" under current directory
    // to save the email retrieved.
    String ^curpath = Directory::GetCurrentDirectory(); 
    String ^mailbox = String::Format("{0}\\inbox", curpath); 

    // If the folder is not existed, create it.
    if (!Directory::Exists(mailbox)) 
    { 
        Directory::CreateDirectory(mailbox); 
    } 

    // Hotmail POP3 server is "pop3.live.com"
    MailServer ^oServer = gcnew MailServer("pop3.live.com", 
        "hotmailid@hotmail.com", "yourpassword", ServerProtocol::Pop3 ); 
    MailClient ^oClient = gcnew MailClient("TryIt"); 

    // Enable SSL connection
    oServer->SSLConnection = true; 

    // Set 995 port
    oServer->Port = 995; 

    try 
    { 
        oClient->Connect(oServer); 
        array<MailInfo^> ^infos = oClient->GetMailInfos(); 
        for (int i = 0; i < infos->Length; i++) 
        { 
            MailInfo ^info = infos[i]; 
            Console::WriteLine("Index: {0}; Size: {1}; UIDL: {2}", 
                info->Index, info->Size, info->UIDL); 

            // Receive email from Hotmail POP3 server
            Mail ^oMail = oClient->GetMail(info); 

            Console::WriteLine("From: {0}", oMail->From->ToString()); 
            Console::WriteLine("Subject: {0}\r\n", oMail->Subject); 

            // Generate an email file name based on date time.
            System::DateTime d = System::DateTime::Now; 
            System::Globalization::CultureInfo ^cur = gcnew 
                System::Globalization::CultureInfo("en-US"); 
            String ^sdate = d.ToString("yyyyMMddHHmmss", cur); 
            String ^fileName = String::Format("{0}\\{1}{2}{3}.eml", 
                mailbox, sdate, d.Millisecond.ToString("d3"), i); 

            // Save email to local disk
            oMail->SaveAs(fileName, true); 

            // Mark email as deleted from Hotmail POP3 server.
            oClient->Delete(info); 
        } 

        // Quit and pure emails marked as deleted from Hotmail POP3 server.
        oClient->Quit(); 
    } 
    catch (Exception ^ep) 
    { 
        Console::WriteLine(ep->Message); 
    } 

    return 0; 
} 
Click here to read original topic - full version ... 

If you have any comments or questions about above example codes, please add your comments here.

EXPLORE TUTORIALS

© All Rights Reserved, AIFEI Software Limited & AdminSystem Software Limited.