Unfortunately there is no such feature in IMAP protocol. Please note that this is the limitation of the protocol not Mail.dll.
You can however download a message from one account and upload it to another. You don't even need to parse it.
Below you can find a simple code that downloads a raw message from one account and uploads it to another. Of course you can have both Imap instances opened in the same time:
var eml;
using (Imap imap = new Imap())
{
imap.Connect("imap.example1.com"); // use ConnectSSL for SSL connection.
imap.UseBestLogin("user", "password");
imap.SelectInbox();
List<long> uids = imap.GetAll();
long first = uids[0];
eml = imap.GetMessageByUID(first);
imap.Close();
}
using (Imap imap = new Imap())
{
imap.Connect("imap.example2.com"); // use ConnectSSL for SSL connection.
imap.UseBestLogin("user", "password");
imap.SelectInbox();
imap.UploadMessage(eml);
imap.Close();
}