Example #1
0
        //SaveToFile
        public bool SaveToFile(object Stream, object FilePath)
        {
            Application.DoEvents();
            // Try
            ADODB.StreamClass objStream = new ADODB.StreamClass();

            //objStream = Interaction.CreateObject("ADODB.Stream");
            objStream.Type = ADODB.StreamTypeEnum.adTypeBinary;

            objStream.Open();
            objStream.Write(Stream);
            objStream.SaveToFile(FilePath.ToString(), ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
            objStream.Close();
            objStream = null;
            if (Information.Err().Number != 0)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            string filename = @"C:\Users\User1\Desktop\a.eml";

            //string content = File.ReadAllText(filename);

            //dynamic msg = new Message();
            //msg.DataSource.Open(filename);

            //dynamic msg = Activator.CreateInstance(Type.GetTypeFromProgID("CDO.Message"));
            //msg.Open(filename);

            //dynamic stream = Activator.CreateInstance(Type.GetTypeFromProgID("ADODB.Stream"));
            //stream.Open();
            //stream.LoadFromFile(filename);
            //stream.Position = 0;
            //dynamic msg = Activator.CreateInstance(Type.GetTypeFromProgID("CDO.Message"));
            //msg.DataSource.OpenObject(stream, "_Stream");
            //msg.Attachments.DeleteAll();
            //msg.DataSource.SaveToObject(stream, "_Stream");
            ////msg.DataSource.Save();
            //stream.Position = 0;
            //stream.SaveToFile(filename, adSaveCreateOverWrite);
            //stream.Close();

            ADODB.StreamClass stream = new ADODB.StreamClass();
            stream.Open();
            stream.LoadFromFile(filename);
            CDO.MessageClass msg = new CDO.MessageClass();
            msg.DataSource.OpenObject(stream, "_Stream");
            msg.Attachments.DeleteAll();
            msg.DataSource.SaveToObject(stream, "_Stream");
            stream.SaveToFile(filename, ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
            stream.Close();
            System.Runtime.InteropServices.Marshal.FinalReleaseComObject(msg);
            System.Runtime.InteropServices.Marshal.FinalReleaseComObject(stream);
        }