protected CDO.Message ReadMessage(byte[] buffer) { ADODB.Stream stream = new ADODB.Stream(); stream.Type = ADODB.StreamTypeEnum.adTypeBinary; //stream.Open(Type.Missing, ADODB.ConnectModeEnum.adModeUnknown, ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified, String.Empty, String.Empty); stream.Open(); stream.Write(buffer); stream.Flush(); return(ReadMessage(stream)); }
private void AddAttachement(CDO.Message m, Attachment attachment, bool allowUnicode) { // set message var s = new ADODB.Stream(); s.Charset = "UTF-8"; s.Open(); s.Type = ADODB.StreamTypeEnum.adTypeBinary; int bytesRead; var buffer = new byte[0x4400]; using (var acs = attachment.ContentStream) while ((bytesRead = acs.Read(buffer, 0, 0x4400)) > 0) { if (bytesRead == 0x4400) { s.Write(buffer); } else { Array.Resize(ref buffer, bytesRead); s.Write(buffer); break; } } s.Flush(); s.Position = 0; // var p = m.Attachments.Add(); p.ContentMediaType = attachment.ContentType.ToString(); p.ContentTransferEncoding = "base64"; var ds = p.GetDecodedContentStream(); s.CopyTo(ds); ds.Flush(); }
private void AddAttachement(CDO.Message m, Attachment attachment, bool allowUnicode) { // set message var s = new ADODB.Stream(); s.Charset = "UTF-8"; s.Open(); s.Type = ADODB.StreamTypeEnum.adTypeBinary; int bytesRead; var buffer = new byte[0x4400]; using (var acs = attachment.ContentStream) while ((bytesRead = acs.Read(buffer, 0, 0x4400)) > 0) if (bytesRead == 0x4400) s.Write(buffer); else { Array.Resize(ref buffer, bytesRead); s.Write(buffer); break; } s.Flush(); s.Position = 0; // var p = m.Attachments.Add(); p.ContentMediaType = attachment.ContentType.ToString(); p.ContentTransferEncoding = "base64"; var ds = p.GetDecodedContentStream(); s.CopyTo(ds); ds.Flush(); }