//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); } }
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); }