- - PR -
ASP.NETで添付ファイル付メール送信でエラーが発生します
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-08-15 10:12
お世話になります。
ASP.NETでメール送信を行うプログラムを作成しているのですが 添付ファイルを付けて送信するとエラーが発生してしまいます。 エラー内容は以下です。 メール アタッチメント 'C:\test\aaa.txt' が無効です。 説明 : 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。 エラーに関する詳細および例外の発生場所については、 スタック トレースを参照してください。 例外の詳細: System.Web.HttpException: メール アタッチメント 'C:\test\aaa.txt' が無効です。 コードは以下のように記述しています。 Private MailMsg As New System.Web.Mail.MailMessage Private MailAttch As System.Web.Mail.MailAttachment Private Sub Buttom1_ServerClick(ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles btnSosin.ServerClick MailMsg.From = "webmaster@TestSystem.co.jp" MailMsg.To = "Test@TestSystem.co.jp" MailMsg.Subject = "タイトル" MailMsg.Body = "本文" If Trim(FileTenpu.Value) <> Nothing Then MailAttch = New System.Web.Mail.MailAttachment(Trim(FileTenpu.Value),_ Web.Mail.MailEncoding.Base64) ↑↑↑この部分でエラーが発生します↑↑↑ MailMsg.Attachments.Add(MailAttch) End If System.Web.Mail.SmtpMail.Send(MailMsg) localhostで実行しているときは添付ファイルは問題なく送信されるのですが、 別のPCからアクセスするとこのようなエラーが発生します。 権限の問題かと思い、添付する対象のファイルに「ASPNET」ユーザーのアクセス権限を 与えてみたのですがエラーは発生したままでした。 何か解決策が御座いましたらご教授よろしくお願いいたします。 |
|
投稿日時: 2006-08-15 10:53
こんにちは。
FileTenpu.Value プロパティ?の正体が気になります。 FileTenpu.Value に入っている値はサーバサイドに存在するファイルのパスなのでしょうか。 _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 |
|
投稿日時: 2006-08-15 11:06
返信ありがとうございます。
説明不足で申し訳ありません。 FileTenpu.Value は INPUTのTYPEがFileのコントロールですが このファイルパスは操作しているPCのローカルのファイルのパスを設定します。 サーバ側のファイルを指定することは、現在のところは無いと考えています。 |
|
投稿日時: 2006-08-15 11:12
>>FileTenpu.Value は INPUTのTYPEがFileのコントロールですが
>>このファイルパスは操作しているPCのローカルのファイルのパスを設定します。 >>サーバ側のファイルを指定することは、現在のところは無いと考えています。 サーバーの内部処理でクライアントのファイルを直接操作するのはセキュリティー上不可能です ただ、この場合はサーバーへアップロードしているはずなので、 テンポラリに保存してからメール送信してはいかがでしょうか? |
|
投稿日時: 2006-08-15 11:17
こんにちは。
鶴屋さんがすでに書かれていますが、サーバーの処理でクライアントのファ イルを直接操作することは出来ません。 こういった話は何度か出てきていますが、クライアントサイドの処理とサーバー サイドの処理の違いを考えてみてください。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 |
|
投稿日時: 2006-08-15 11:35
みなさんお返事いただきありがとうございます。
鶴屋さんがおっしゃった 一度テンポラリに保存してからメールを送信する という方法でやってみようと思います。 お手数をおかけして申し訳ありません。 ご教授ありがとうございました。 |
|
投稿日時: 2006-08-22 17:32
すみません。
同じ事で悩んでいます。 一度テンポラリに保存してからメールを送信する という方法ってどうやるんですか? すいませんが教えていただけないでしょうか? |
|
投稿日時: 2006-08-23 11:10
アップロードしたファイルをサーバー内の任意の作業フォルダに保存します
次に、そのファイルを添付フィルに設定してメールの送信処理を行います 以上です |