2

I want to convert a Gmail Raw Message into Mimekit.MimeMessage. Can convert MimeMessage to Raw string but can't reverse it.

Code for getting Raw message from gmail:

var emailInfoReq = service.Users.Messages.Get("me", email.Id);
emailInfoReq.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Raw; 
var emailInfoResponse = emailInfoReq.Execute();
if (emailInfoResponse != null)
  {                        
    var message = emailInfoResponse.Raw;
    //string Msg = DecodeBase64String(message);
    //byte[] Msg = Base64UrlDecode(message);
    MimeKit.MimeMessage Message1 = new MimeKit.MimeMessage();
    // MimeMessage not taking string as well as byte[] input
  }

Any help would be appreciated. Thanks.

Preet
  • 984
  • 2
  • 14
  • 34

1 Answers1

4

It was easy, Thanks to Sir Rufo for idea!

Just posting it if anybody wants: Converted byte[] to memory stream and load it into MimeMessage:

 var message = emailInfoResponse.Raw;
 byte[] Msg = Base64UrlDecode(message);
 MemoryStream mm = new MemoryStream(Msg);
 MimeKit.MimeMessage Message1  = MimeKit.MimeMessage.Load(mm);
Preet
  • 984
  • 2
  • 14
  • 34