C# Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

C# Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
MIME
POP3
RSA
S/MIME
SMTP
Socket
Spider
SSH
SSH Tunnel
SSH Key
SFTP
Tar Archive
Upload
XML
XMP
Zip Compression


More Examples...
Amazon S3
NTLM
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

Search IMAP Mailbox for Email Matching Criteria

Download Chilkat .NET for 4.0 Framework

Download Chilkat .NET for 64-bit 4.0 Framework (x64)

Download Chilkat .NET for 2.0 / 3.5 Framework

Download Chilkat .NET for 64-bit 2.0 / 3.5 Framework (x64)

Download Chilkat .NET for 1.0 / 1.1 Framework

Searching an IMAP mailbox for messages that match search criteria.

Chilkat.Imap imap = new Chilkat.Imap();

bool success;

// Anything unlocks the component and begins a fully-functional 30-day trial.
success = imap.UnlockComponent("Anything for 30-day trial");
if (success != true) {
    MessageBox.Show(imap.LastErrorText);
    return;
}

// Connect to an IMAP server.
success = imap.Connect("mail.chilkatsoft.com");
if (success != true) {
    MessageBox.Show(imap.LastErrorText);
    return;
}

// Login
success = imap.Login("admin@chilkatsoft.com","*myPassword5*");
if (success != true) {
    MessageBox.Show(imap.LastErrorText);
    return;
}

// Select an IMAP mailbox
success = imap.SelectMailbox("Inbox");
if (success != true) {
    MessageBox.Show(imap.LastErrorText);
    return;
}

Chilkat.MessageSet messageSet;
// We can choose to fetch UIDs or sequence numbers.
bool fetchUids;
fetchUids = true;

// Here are examples of different search criteria:

// Return all messages.
string allMsgs;
allMsgs = "ALL";

// Search for already-answered emails.
string answered;
answered = "ANSWERED";

// Search for messages on a specific date.
// The date string is DD-Month-YYYY where Month is
// Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, or Dec.
string onDate;
onDate = "SENTON 05-Mar-2007";

// Search for messages between two dates.  SENTBEFORE
// finds emails sent before a date, and SENTSINCE finds
// email sent on or after a date.  The "AND" operation
// is implied by joining criteria, separated by spaces.
string betweenDates;
betweenDates = "SENTSINCE 01-Mar-2007 SENTBEFORE 05-Mar-2007";

// Another example of AND: find all unanswered emails
// sent after 04-Mar-2007 with "Problem" in the subject:
string complexSearch1;
complexSearch1 = "UNANSWERED SENTSINCE 04-Mar-2007 Subject \"Problem\"";

// Find messages with a specific string in the body:
string bodySearch;
bodySearch = "BODY \"problem solved\"";

// Using OR.  The syntax is OR <criteria1> <criteria2>.
// The "OR" comes first, followed by each criteria.
// For example, to match all emails with "Help" or "Question" in the subject.
// You'll notice that literal strings may be quoted or unquoted.
// If a literal contains SPACE characters, quote it:
string orSearch;
orSearch = "OR SUBJECT Help SUBJECT Question";

// ----------------------------------------------
// Strings are case-insensitive when searching....
// ----------------------------------------------

// Find all emails sent from yahoo.com addresses:
string fromSearch;
fromSearch = "FROM yahoo.com";
// Find all emails sent from anyone with "John" in their name:
string johnSearch;
johnSearch = "FROM John";

// Find emails with the RECENT flag set:
string recentSearch;
recentSearch = "RECENT";

// Find emails that don't have the recent flag set:
string notRecentSearch;
notRecentSearch = "NOT RECENT";
// This is synonymous with "OLD":
string oldSearch;
oldSearch = "OLD";

// Find all emails marked for deletion:
string markedForDeleteSearch;
markedForDeleteSearch = "DELETED";

// Find all emails having a specified header field with a value
// containing a substring:
string headerSearch;
headerSearch = "HEADER DomainKey-Signature paypal.com";

// Find any emails having a specific header field.  If the
// 2nd argument to the "HEADER" criteria is an empty string,
// any email having the header field is returned regardless
// of the header field's content.
// Find any emails with a DomainKey-Signature field:
string headerExistsSearch;
headerExistsSearch = "HEADER DomainKey-Signature \"\"";

// Find NEW emails: these are emails that have the RECENT flag
// set, but not the SEEN flag:
string newSearch;
newSearch = "NEW";

// Find emails larger than a certain number of bytes:
string sizeLargerSearch;
sizeLargerSearch = "LARGER 500000";

// Find emails marked as seen or not already seen:
string seenSearch;
seenSearch = "SEEN";
string notSeenSearch;
notSeenSearch = "NOT SEEN";

// Find emails having a given substring in the TO header field:
string toSearch;
toSearch = "TO support@chilkatsoft.com";
// A more long-winded way to do the same thing:
string toSearch2;
toSearch2 = "HEADER TO support@chilkatsoft.com";

// Find emails smaller than a size in bytes:
string smallerSearch;
smallerSearch = "SMALLER 30000";

// Find emails that have a substring anywhere in the header
// or body:
string fullSubstringSearch;
fullSubstringSearch = "TEXT \"Zip Component\"";

// Pass any of the above strings here to test a search:
messageSet = imap.Search(orSearch,fetchUids);
if (messageSet == null ) {
    MessageBox.Show(imap.LastErrorText);
    return;
}

// Fetch the email headers into a bundle object:
Chilkat.EmailBundle bundle;
bundle = imap.FetchHeaders(messageSet);
if (bundle == null ) {

    MessageBox.Show(imap.LastErrorText);
    return;
}

// Display the Subject and From of each email.
int i;
for (i = 0; i <= bundle.MessageCount - 1; i++) {
    Chilkat.Email email;
    email = bundle.GetEmail(i);

    textBox1.Text += email.GetHeaderField("Date") + "\r\n";
    textBox1.Refresh();
    textBox1.Text += email.Subject + "\r\n";
    textBox1.Refresh();
    textBox1.Text += email.From + "\r\n";
    textBox1.Refresh();
    textBox1.Text += "--" + "\r\n";
    textBox1.Refresh();

}

// Disconnect from the IMAP server.
imap.Disconnect();


 

© 2000-2012 Chilkat Software, Inc. All Rights Reserved.

Email Component · XML Parser