最大3つの添付ファイルを含む電子メールを送信することになっているアプリケーションを作成しています。
これは非常に単純なWebフォームであり、可能な添付ファイルを参照するための3つのFileUploadコントロールがあります。
アプリケーションはWebファームにデプロイされ、もちろんサーバー側で実行されます。
メールを送信させることができましたが、添付ファイルに問題があります。現在、私はこの手順を使用してファイルを添付しています。
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 mayFullPath)at 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)atMSTicketRequest.WebForm1。
なぜこれが起こるのか理解できませんでした。おそらく、セキュリティポリシーなどに関する何かが欠けています。
よろしくお願いします!