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