示例#1
0
        public void Save()
        {
            var mp = _part as MimePart;

            if (mp != null)
            {
                var dialog = new SaveFileDialog();

                string filename = (mp.FileName ?? "Unnamed");

                if (string.IsNullOrEmpty(Path.GetExtension(filename)))
                {
                    filename = filename + (MIMEDatabase.GetExtension(MimeType));
                }

                dialog.FileName = filename;
                dialog.Filter   = "File (*.*)|*.*";

                if (dialog.ShowDialog() == true)
                {
                    using (FileStream stream = File.OpenWrite(dialog.FileName))
                    {
                        mp.Content.DecodeTo(stream);
                    }
                }
            }
        }
示例#2
0
        public void View()
        {
            string extn = Path.GetExtension(Message.Name ?? "Unnamed");

            if (string.IsNullOrEmpty(extn))
            {
                extn = MIMEDatabase.GetExtension(MimeType) ?? ".part";
            }

            TempFileCollection tempFiles = new TempFileCollection();
            FileInfo           msgFile   = new FileInfo(tempFiles.AddExtension(extn.TrimStart('.')));

            using (FileStream stream = msgFile.OpenWrite())
            {
                Message.DumpBody(stream);
            }

            Process.Start(msgFile.FullName);
        }
示例#3
0
        public void View()
        {
            var mp = _part as MimePart;

            if (mp != null)
            {
                string extn = Path.GetExtension(mp.FileName ?? "Unnamed");

                if (string.IsNullOrEmpty(extn))
                {
                    extn = MIMEDatabase.GetExtension(MimeType) ?? ".part";
                }

                var tempFile = Path.Combine(Path.GetTempPath(), Path.GetTempFileName() + extn);

                var msgFile = new FileInfo(tempFile);

                using (FileStream stream = msgFile.OpenWrite())
                {
                    mp.Content.DecodeTo(stream);
                }

                var p = new Process()
                {
                    StartInfo           = { FileName = msgFile.FullName },
                    EnableRaisingEvents = true
                };

                p.Exited += (sender, e) =>
                {
                    try
                    {
                        File.Delete(msgFile.FullName);
                    }
                    catch
                    {
                    }
                };

                p.Start();
            }
        }
示例#4
0
        public void Save()
        {
            SaveFileDialog dialog = new SaveFileDialog();

            string filename = (Message.Name ?? "Unnamed");

            if (string.IsNullOrEmpty(Path.GetExtension(Message.Name)))
            {
                filename = filename + (MIMEDatabase.GetExtension(MimeType));
            }

            dialog.FileName = filename;
            dialog.Filter   = "File (*.*)|*.*";

            if (dialog.ShowDialog() == true)
            {
                using (FileStream stream = File.OpenWrite(dialog.FileName))
                {
                    Message.DumpBody(stream);
                }
            }
        }
示例#5
0
        public void View()
        {
            var mp = _part as MimePart;

            if (mp != null)
            {
                string extn = Path.GetExtension(mp.FileName ?? "Unnamed");

                if (string.IsNullOrEmpty(extn))
                {
                    extn = MIMEDatabase.GetExtension(MimeType) ?? ".part";
                }

                var tempFiles = new TempFileCollection();
                var msgFile   = new FileInfo(tempFiles.AddExtension(extn.TrimStart('.')));

                using (FileStream stream = msgFile.OpenWrite())
                {
                    mp.ContentObject.DecodeTo(stream);
                }

                Process.Start(msgFile.FullName);
            }
        }