从给定的. email文件获取附件,并将该附件用于其他邮件

本文关键字:用于 其他 email 文件 获取 | 更新日期: 2023-09-27 18:04:05

我正在c#中编写代码,但没有经历的事情是我已经在磁盘上保存了一些。eml文件,现在我正在解析每个eml文件并创建一个新邮件,将eml文件数据添加到新邮件中,但我无法将。eml文件中的附件附加到新邮件中,有人可以帮助吗?

从给定的. email文件获取附件,并将该附件用于其他邮件

我正在使用以下代码,但它显示了错误ex ={"该进程无法访问文件,因为它正在被另一个进程使用。'r'n":null}

                foreach (CDO.IBodyPart attach in msg.Attachments)
                {
                    i++;
                    string filenm = "C:''mail_automation''attachments''xyz" + i +".eml";
                    if (File.Exists(filenm))
                    {

                        string fn = attach.FileName;
                        attach.SaveToFile("C:''mail_automation''attachments''xyz" + i + ".eml");
                        Attachment data = new Attachment(filenm);
                        mailMessage.Attachments.Add(data);                    

                    }
                    else
                    {
                        File.Create(filenm);
                        string fn = attach.FileName;
                        attach.SaveToFile("C:''mail_automation''attachments''xyz" + i + ".eml");
                        Attachment data = new Attachment(filenm);
                        mailMessage.Attachments.Add(data);
                    }

您必须先提取附件并将其保存到磁盘上,然后再将其提取到新邮件中。

这里的代码示例

MailMessage message = new MailMessage();
MemoryStream ms = new MemoryStream(); //store the mail into this ms 'memory stream'
ms.Position = 0;
message.Attachments.Add(new Attachment(ms, attachmentName));