Ejemplo n.º 1
0
 protected CDO.Message ReadMessage(String emlFileName)
 {
     ADODB.Stream stream = new ADODB.Stream();
     stream.Open(Type.Missing, ADODB.ConnectModeEnum.adModeUnknown, ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified, String.Empty, String.Empty);
     stream.LoadFromFile(emlFileName);
     stream.Flush();
     return(ReadMessage(stream));
 }
Ejemplo n.º 2
0
 public CDOMessageConverter(string mailContent)
 {
     cdoMessage = new CDO.Message();
     ADODB.Stream adoStream = cdoMessage.GetStream();
     adoStream.Type = ADODB.StreamTypeEnum.adTypeText;
     adoStream.WriteText(mailContent.Trim(), ADODB.StreamWriteEnum.adWriteLine);
     adoStream.Flush();
     adoStream.Close();
 }
Ejemplo n.º 3
0
 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));
 }
Ejemplo n.º 4
0
        protected Message ReadMessage(String emlFileName)
        {
            Message msg    = new Message();
            Stream  stream = new Stream();

            stream.Open(Type.Missing,
                        ADODB.ConnectModeEnum.adModeUnknown,
                        ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified,
                        String.Empty,
                        String.Empty);
            stream.LoadFromFile(emlFileName);
            stream.Flush();
            msg.DataSource.OpenObject(stream, "_Stream");
            msg.DataSource.Save();
            return(msg);
        }
Ejemplo n.º 5
0
        public static CDO.Message GetEmlFromFile(String emlFileName)
        {
            CDO.Message msg = new CDO.Message();
            try
            {
                ADODB.Stream stream = new ADODB.Stream();
                stream.Open(Type.Missing, ADODB.ConnectModeEnum.adModeUnknown,
                            ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified, String.Empty, String.Empty);
                stream.LoadFromFile(emlFileName);
                stream.Flush();
                msg.DataSource.OpenObject(stream, "_Stream");
                msg.DataSource.Save();
            }
            catch
            {
            }

            return(msg);
        }
        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();
        }
Ejemplo n.º 7
0
 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();
 }