从给定的.eml文件中获取附件并将​​该附件用于其他邮件

时间:2016-08-25 06:07:47

标签: c#

我正在处理C#中的代码,但是现在我已经在我的磁盘上保存了一些.eml文件,我正在解析每个eml文件并创建一个新邮件将eml文件数据添加到新邮件但我无法将.eml文件中的附件附加到新邮件中,有人可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

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

代码示例here

答案 1 :(得分:0)

我正在使用以下代码,但它显示错误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);
                    }

答案 2 :(得分:0)

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