Uploads a mail message to the specified folder.
true if the message was uploaded successfully; otherwise, false.
This method implements APPEND command of the IMAP4 protocol. For uploaded messages, the mail server automatically assigns "\Recent" flag. The date of receiving the message by the server (INTERNALDATE in IMAP4 terms) will be set to the current datetime/timezone of the local computer (not the mail server).
To upload a file, the developer can first load it into MailMessage object using LoadMessage method, and then call UploadMessage passing a reference to this MailMessage object. There is no extra overhead on parsing the message since LoadMessage just reads a file into memory. The MailMessage won't parse the contained message unless the application starts accessing its properties or methods (so-called "lazy" model).
To upload a mail message just sent using Smtp component, the developer call UploadMessage method passing a reference to the Message property (see UploadMessage sample).
To obtain the UID value assigned to the uploaded message, the developer should either examine DestUidString property of UidPlusResult object passed in res parameter of UploadMessage method (the server must support UIDPLUS capability), or obtain UidNext value calling GetFolderStatus method before making upload (this approach is compatible with all servers).
| Exception Type | Condition |
|---|---|
| MailBeeException | An error occurred and ThrowExceptions is true. |
This sample loads the message from a file and uploads it into "Archive" folder.
The sample assumes "Archive" folder had already been created in the past. To learn how to make sure the folder exists, see UploadMessage or UploadMessage samples.
[C#] using System; using MailBee; using MailBee.ImapMail; using MailBee.Mime; class Sample { static void Main(string[] args) { Imap imp = new Imap(); // Connect to the IMAP4 server and log in the account. imp.Connect("mail.company.com"); imp.Login("jdoe@company.com", "secret"); // Load the message from C:\Temp\message.eml file. MailMessage msg = new MailMessage(); msg.LoadMessage(@"C:\Temp\message.eml"); // Upload the message into "Archive" folder. imp.UploadMessage(msg, "Archive"); // Disconnect from the server. imp.Disconnect(); } }
[Visual Basic] Imports System Imports MailBee Imports MailBee.ImapMail Imports MailBee.SmtpMail Imports MailBee.Mime Module Sample Sub Main() Dim imp As New Imap ' Connect to the IMAP4 server and log in the account. imp.Connect("mail.company.com") imp.Login("jdoe@company.com", "secret") ' Load the message from C:\Temp\message.eml file. Dim msg As New MailMessage msg.LoadMessage("C:\Temp\message.eml") ' Upload the message into "Archive" folder. imp.UploadMessage(msg, "Archive") ' Disconnect from the server. imp.Disconnect() End Sub End Module
Imap Class | MailBee.ImapMail Namespace | Imap.UploadMessage Overload List