Uploading emails using IMAP
Monday, January 4th, 2010Uploading emails to the IMAP server is fairly easy with Mail.dll IMAP client
First we’ll use Mail.dll to upload an existing email in eml format to the IMAP server:
// C# code
using (Imap imap = new Imap())
{
imap.Connect("server");
imap.User = "user";
imap.Password = "password";
imap.Login();
string eml = File.ReadAllText("email.eml");
// The name of the folder depends on your IMAP server
imap.UploadMessage("[Gmail]/Sent Mail", eml);
imap.Close(true);
}
' VB.NET code
Using imap As New Imap()
imap.Connect("server")
imap.User = "user"
imap.Password = "password"
imap.Login()
Dim eml As String = File.ReadAllText("email.eml")
' The name of the folder depends on your IMAP server
imap.UploadMessage("[Gmail]/Sent Mail", eml)
imap.Close(True)
End Using
Second sample shows how to create new email message and upload it to IMAP server.
// C# code
using (Imap imap = new Imap())
{
imap.Connect("server");
imap.User = "user";
imap.Password = "password";
imap.Login();
// Create new mail message
SimpleMailMessageBuilder builder = new SimpleMailMessageBuilder();
builder.Subject = "subject";
builder.From.Add(new MailBox("alice@email.com", "Alice"));
builder.To.Add(new MailBox("bob@email.com", "Bob"));
builder.SetTextData("This is plain text email");
// Upload
// The name of the folder depends on your IMAP server
imap.UploadMessage("[Gmail]/Sent Mail", builder.Create());
imap.Close(true);
}
' VB.NET code
Using imap As New Imap()
imap.Connect("server")
imap.User = "user"
imap.Password = "password"
imap.Login()
' Create new mail message
Dim builder As New SimpleMailMessageBuilder()
builder.Subject = "subject"
builder.From.Add(New MailBox("alice@email.com", "Alice"))
builder.[To].Add(New MailBox("bob@email.com", "Bob"))
builder.SetTextData("This is plain text email")
' Upload
' The name of the folder depends on your IMAP server
imap.UploadMessage("[Gmail]/Sent Mail", builder.Create())
imap.Close(True)
End Using
Please note that only few IMAP servers are going to send the message to the actual recipients. Most servers will only upload the message without sending it.
You should use SMTP protocol for this.
You can download Mail.dll IMAP client here.

