Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Perl) Office365 IMAP List MailboxesSee more Office365 ExamplesList the Office365 IMAP mailboxes.
use chilkat(); # An Office365 OAuth2 access token must first be obtained prior # to running this code. # Getting the OAuth2 access token for the 1st time requires the O365 account owner's # interactive authorizaition via a web browser. Afterwards, the access token # can be repeatedly refreshed automatically. # See the following examples for getting and refreshing an OAuth2 access token # Get Office365 SMTP/IMAP/POP3 OAuth2 Access Token # Refresh Office365 SMTP/IMAP/POP3 OAuth2 Access Token # First get our previously obtained OAuth2 access token. $jsonToken = chilkat::CkJsonObject->new(); $success = $jsonToken->LoadFile("qa_data/tokens/office365.json"); if ($success == 0) { print "Failed to open the office365 OAuth JSON file." . "\r\n"; exit; } $imap = chilkat::CkImap->new(); $imap->put_Ssl(1); $imap->put_Port(993); # Connect to the Office365 IMAP server. $success = $imap->Connect("outlook.office365.com"); if ($success != 1) { print $imap->lastErrorText() . "\r\n"; exit; } # Use OAuth2 authentication. $imap->put_AuthMethod("XOAUTH2"); # Login using our username (i.e. email address) and the access token for the password. $success = $imap->Login("OFFICE365_EMAIL_ADDRESS",$jsonToken->stringOf("access_token")); if ($success != 1) { print $imap->lastErrorText() . "\r\n"; exit; } print "O365 OAuth authentication is successful." . "\r\n"; # The ListMailboxes method returns a Mailboxes object # that contains the collection of mailboxes. # It accepts two arguments: a refName and a wildcardedMailbox. $refName = ""; # refName is usually set to an empty string. # A non-empty reference name argument is the name of a mailbox or a level of # mailbox hierarchy, and indicates the context in which the mailbox # name is interpreted. # Select all mailboxes matching this pattern: $wildcardedMailbox = "*"; # mboxes is a Mailboxes $mboxes = $imap->ListMailboxes($refName,$wildcardedMailbox); if ($imap->get_LastMethodSuccess() == 0) { print $imap->lastErrorText() . "\r\n"; exit; } $i = 0; while ($i < $mboxes->get_Count()) { print $mboxes->getName($i) . "\r\n"; $i = $i + 1; } # Sample output looks like this: # Archive # Calendar # Calendar/Birthdays # Calendar/United States holidays # Contacts # Conversation History # Deleted Items # Drafts # INBOX # INBOX/abc # INBOX/misc # INBOX/misc/birdeye # INBOX/old # INBOX/old/large # INBOX/receipts # Journal # Junk Email # Notes # Outbox # RSS Subscriptions # Sent Items # Sync Issues # Sync Issues/Conflicts # Sync Issues/Local Failures # Sync Issues/Server Failures # Tasks # Trash # Disconnect from the IMAP server. $success = $imap->Disconnect(); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.