- PR -

メールの添付ファイル処理について(サーバーにクライアントのファイルを送りたい)

1
投稿者投稿内容
てっちゃん
常連さん
会議室デビュー日: 2005/05/10
投稿数: 23
投稿日時: 2005-08-03 10:27
メールにファイル添付する処理でMailMessage.Attachments.Addで
添付しているのですが、自PCにIISを立てて処理している場合は
問題なく送れるのですが、別サーバーにシステムを移管して
同様の処理をすると、「メール アタッチメント 'C:\A.txt' が無効です。」
とエラーメッセージが出ます。
アクセス権の問題だと思うのですが、どのような解決方法があるのか
わかりません。
自PCの時にも同様のエラーが出たのですが、このときはフォルダに
ASPNETに対して読み取り権限を与えることにより解決しました。

どなたかおわかりの方いらっしゃいましたらご教授下さい。
よろしくお願いします。
ロンロン
ベテラン
会議室デビュー日: 2004/01/08
投稿数: 58
お住まい・勤務地: TOKYO
投稿日時: 2005-08-04 00:28
関係ないかも&回答にはなっていませんが、、、、
「aspxのFilefieldからファイルをポストしてサーバサイドでメール添付してSMTP送信」
みたいな事を以前やろうとした際、
クライアントからポストされたファイルを一旦Webサーバのディレクトリに置き、
それを添付してやらないとNGでした。

自PCだけでテストしていたのでなかなか原因がわからず、はまった記憶があります。
てっちゃん
常連さん
会議室デビュー日: 2005/05/10
投稿数: 23
投稿日時: 2005-08-04 05:17
ロンロンさん アドバイスありがとうございます。
昨日もずっと悩んで、所有の書籍をあちこち眺めていましたら
ロンロンさんと同様の処理が載っていました。
結構複雑そうでしたが今日トライしてみたいと思います。
やはりロンロンさんもお悩みになったんですね。
メール送信までは簡単にできたのでファイル添付も簡単かな
と思ったのが間違いでした。
今後ともよろしくお願いします。
ロンロン
ベテラン
会議室デビュー日: 2004/01/08
投稿数: 58
お住まい・勤務地: TOKYO
投稿日時: 2005-08-05 02:06
引用:

てっちゃんさんの書き込み (2005-08-04 05:17) より:
やはりロンロンさんもお悩みになったんですね。


ええ、それなりに(笑
馬鹿だったのでWebサーバからクライアントへのパス指定でファイル添付しようとしてました。

お役に立って何よりです。
@適当なGUIDや時間等をフォルダ名としてサーバ側でフォルダ作成。
Aポストされたファイルを@で作ったフォルダに一時格納。
BMailSend。ファイルへのパス指定はAの格納先。
Cバックアップ用途がなければフォルダもファイルも削除。
みたいな感じでしょうか。

#もっと簡単で良い方法があれば乗り換えたいです。
てっちゃん
常連さん
会議室デビュー日: 2005/05/10
投稿数: 23
投稿日時: 2005-08-05 10:11
ロンロンさん おはようございます。
昨日本を片手にトライしたのですが結局うまくいきませんでした。
<input id="attach" type="file">にてファイルを選択するのですが
メール送信ボタンを押したときのPOSTBACKでinputの値が消えてしまい
その後、テキストボックスに値を移そうと考えたのですが、
イベントの起こし方がわからずに頓挫しています。
ロンロンさんはこの点についてどのように解決されたのですか?
初心者的な質問で申し訳ありませんが、アドバイスいただければ
幸いです。
ロンロン
ベテラン
会議室デビュー日: 2004/01/08
投稿数: 58
お住まい・勤務地: TOKYO
投稿日時: 2005-08-05 22:43
引用:

てっちゃんさんの書き込み (2005-08-05 10:11) より:
<input id="attach" type="file">


う”!!
runat="server" が無いのが非常に気になります。
FileFieldはちゃんと「サーバーコントロールとして実行」にしてますか?

手元にソースが無いので、↓このあたりを読んでみてください。
http://www.atmarkit.co.jp/fdotnet/dotnettips/322postedfile/postedfile.html

この記事ではサーバへのファイル保存まで書いてありますのでわかりやすいですよ。

[ メッセージ編集済み 編集者: ロンロン 編集日時 2005-08-05 23:36 ]
てっちゃん
常連さん
会議室デビュー日: 2005/05/10
投稿数: 23
投稿日時: 2005-08-06 07:26
ロンロンさん おはようございます。
ちゃんとソースを記載しなくて申し訳ありません。
runat="server" は入ってます。
あと<form>タグにenctype="multipart/form-data"も入れました。
コンパイルも問題なく通り、デバッグでFileFieldの値を見ると
何も入ってないんです。( ・_・

教えていただいた記事を元に今日またトライしてみます。
ありがとうございました。
てっちゃん
常連さん
会議室デビュー日: 2005/05/10
投稿数: 23
投稿日時: 2005-08-08 14:26
ロンロンさん こんにちは
昨日時間が取れなかったので、今日やってみました。
結論から言うとうまく出来ました。
何が原因で出来なかったのかわかりませんでしたが、
なにはともあれ問題なく稼働しています。
お忙しい中お付き合い下さいましてありがとうございました。
今後ともよろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)