public static Draft AddToDraftBody(Draft draft, string subject = null, string text = null, List <IUserInfo> to = null, List <IUserInfo> cc = null, List <IUserInfo> bcc = null, List <IUserInfo> from = null, List <FileStream> fileStream = null, CancellationToken cancellationToken = default(CancellationToken)) { draft.NullInspect(nameof(draft)); if (draft.Message?.Raw == null) { throw new InvalidOperationException($"The {nameof(Draft.Message)} must contain a non-null Raw property."); } var decodedRaw = Base64.DecodeUrlSafeToBytes(draft.Message.Raw); using (var stream = new MemoryStream(decodedRaw)) { var mimeMessage = MimeMessage.Load(stream, cancellationToken); FillMimeMessage(mimeMessage, subject, text, to, cc, bcc, from, fileStream); var message = TransformMimeMessageToMessage(mimeMessage); return(new Draft { Message = message }); } }
public FormattedMessage(Draft draft) { draft.NullInspect(nameof(draft)); DraftId = draft.Id; ParseMessage(draft.Message); }