Independentsoft
- any library, any programming language
Home
Purchase
Support
Company
Contact
Email .NET
>
Tutorial
> Search for messages
This example shows you how to use Search method.
C# example
using System; using Independentsoft.Email; using Independentsoft.Email.Imap; using Independentsoft.Email.Mime; namespace Sample { class Program { static void Main(string[] args) { ImapClient client = new ImapClient("myserver"); Logger logger = new Logger("c:\\test\\log.txt"); logger.WriteLog += new WriteLogEventHandler(OnWriteLog); client.Logger = logger; client.Connect(); client.Login("username", "password"); SearchCriteria criteria = new SearchCriteria(); criteria.From = "user@domain.com"; criteria.SentSince = DateTime.Today.AddMonths(-1); client.SelectFolder("Inbox"); int[] uniqueID = client.Search(criteria); Message[] messages = new Message[uniqueID.Length]; for (int i = 0; i < uniqueID.Length; i++) { messages[i] = client.GetMessage(uniqueID[i]); } client.Disconnect(); Console.WriteLine("Press ENTER to exit!"); Console.Read(); } private static void OnWriteLog(object sender, WriteLogEventArgs e) { Console.Write(e.Log); } } }
VB example
Imports System Imports Independentsoft.Email Imports Independentsoft.Email.Imap Imports Independentsoft.Email.Mime Namespace Sample Class Program Shared Sub Main(ByVal args As String()) Dim client As New ImapClient("myserver") Dim logger As New Logger("c:\test\log.txt") AddHandler logger.WriteLog, AddressOf OnWriteLog client.Logger = logger client.Connect() client.Login("username", "password") Dim criteria As New SearchCriteria() criteria.From = "user@domain.com" criteria.SentSince = DateTime.Today.AddMonths(-1) client.SelectFolder("Inbox") Dim uniqueID As Integer() = client.Search(criteria) Dim messages As Message() = New Message(uniqueID.Length - 1) {} For i As Integer = 0 To uniqueID.Length - 1 messages(i) = client.GetMessage(uniqueID(i)) Next client.Disconnect() Console.WriteLine("Press ENTER to exit!") Console.Read() End Sub Private Shared Sub OnWriteLog(ByVal sender As Object, ByVal e As WriteLogEventArgs) Console.Write(e.Log) End Sub End Class End Namespace