我正在尝试将自定义文件附加到电子邮件中但无济于事。下面的代码调用批处理文件,该文件创建加密文件,然后我尝试将该文件附加到电子邮件。批处理文件成功创建文件,但是当它尝试附加文件时表示该文件不存在。我读到你需要创建一个内存缓冲区或附加到同一个线程,我试着思考它,但我现在真的很难过。有人可以帮忙吗?
代码:
string file = @"C:\EncryptedFile\file.sl";
//EXECUTE BATCHFILE SUPPLYING PARAMETERS TO IT
Process process = new Process();
process.StartInfo.Arguments = string.Format("{0} {1} {2} {3}",
file,
key,
doc1,
doc2);
process.StartInfo.FileName = MyBatchFile;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.Start();
//attach to email
Attachment attachment;
attachment = new Attachment(file);
mail.Attachments.Add(attachment);
错误:
System.IO.DirectoryNotFoundException:找不到部分内容 路径'C:\ EncryptedFile \ file.sl'。在 System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)
中的fileName)
在System.IO.FileStream.Init(字符串路径,FileMode模式,FileAccess 访问,Int32权限,布尔useRights,FileShare共享,Int32 bufferSize,FileOptions选项,SECURITY_ATTRIBUTES secAttrs,String msgPath,Boolean bFromProxy,Boolean useLongPath,Boolean checkHost)
在System.IO.FileStream..ctor(字符串路径,FileMode模式,FileAccess 访问,FileShare共享)at System.Net.Mail.AttachmentBase.SetContentFromFile(String fileName, 字符串mediaType)在System.Net.Mail.AttachmentBase..ctor(String System.Net.Mail.Attachment..ctor(String fileName)
谢谢!
答案 0 :(得分:1)
异常非常清楚。这意味着创建附件时文件不存在。 我会修改你的代码: