我正在编写一个应该发送电子邮件的应用程序,最多包含 3 个附件。
它只是一个非常简单的 Web 表单,带有 3 个 FileUpload 控件来浏览可能的附件。
该应用程序部署在 webfarm 中,当然也可以在服务器端运行。
我设法让它发送电子邮件,但附件有问题。现在,我正在使用此过程附加文件:
if (fuAttatchment.HasFile)
{
fuAttatchment.SaveAs(Server.MapPath(fuAttatchment.FileName));
MyMessage.Attachments.Add(new System.Net.Mail.Attachment(Server.MapPath(fuAttatchment.FileName)));
filesize += fuAttatchment.PostedFile.ContentLength;
}
我提交后得到的错误如下:
发送失败:System.UnauthorizedAccessException:对路径“E:\Inetpub\IS\MSTicketRequest\wallpaper-3010.jpg”的访问被拒绝。在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs , String msgPath, Boolean bFromProxy, Boolean useLongPath) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) at System.IO.FileStream ..ctor(String path, FileMode mode) at System.Web.HttpPostedFile.SaveAs(String filename) at System.Web.UI.WebControls.FileUpload.SaveAs(String filename) at MSTicketRequest.WebForm1。
我无法弄清楚为什么会发生这种情况,可能我错过了一些关于安全策略或类似的东西。
非常感谢您的帮助!