Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Reading Unread POP3 EmailThe POP3 protocol does not provide the ability to ask the server which emails are "unread". Furthermore, a pure POP3 server does not even keep this information. Some servers, such as Exchange Server, expose both POP3 and IMAP interfaces. In these cases, information about read/unread status exists on the server, but it is only available via the IMAP protocol. Email clients such as Outlook and Thunderbird keep read/unread information on the client computer. This example demonstrates how UIDLs can be saved to track and read "unread" email. use chilkat; # The mailman object is used for receiving (POP3) # and sending (SMTP) email. $mailman = new chilkat::CkMailMan(); # Any string argument automatically begins the 30-day trial. $success = $mailman->UnlockComponent("30-day trial"); if ($success != 1) { print "Component unlock failed" . "\n"; exit; } # Set the POP3 server's hostname $mailman->put_MailHost("mail.chilkatsoft.com"); # Set the POP3 login/password. $mailman->put_PopUsername("***"); $mailman->put_PopPassword("***"); # We're keeping a list of already-seen UIDLs in a text file: # If this is the first time you're running this example, # create an empty text file named "seenUidls.txt" $saSeenUidls = new chilkat::CkStringArray(); $success = $saSeenUidls->LoadFromFile("seenUidls.txt"); if ($success != 1) { print "failed to load seenUidls.txt" . "\n"; exit; } # Get the complete list of UIDLs on the mail server. $saUidls = $mailman->GetUidls(); if ($saUidls eq null ) { print $mailman->lastErrorText() . "\n"; exit; } # We don't have set operators (yet) on the StringArray object, # so create a new string array object (it's an object, not an actual array) # and add the UIDLs from saUidls that aren't already seen. $saUnseenUidls = new chilkat::CkStringArray(); $n = $saUidls->get_Count(); for ($i = 0; $i <= $n - 1; $i++) { if ($saSeenUidls->Contains($saUidls->GetString($i)) != 1) { $saUnseenUidls->Append($saUidls->GetString($i)); } } if ($saUnseenUidls->get_Count() == 0) { print "No unseen emails!" . "\n"; exit; } # Download in full the unseen emails: $bundle = $mailman->FetchMultiple($saUnseenUidls); if ($bundle eq null ) { print $mailman->lastErrorText() . "\n"; exit; } for ($i = 0; $i <= $bundle->get_MessageCount() - 1; $i++) { $email = $bundle->GetEmail($i); print $email->ck_from() . "\r\n"; print $email->subject() . "\r\n"; print "----" . "\r\n"; } # We've seen all the emails, save saUidls to "seenUidls.txt" $saUidls->SaveToFile("seenUidls.txt"); |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.