1. 写真(JPEG 画像)をメールに添付して投げる。
  2. web アプリが POP3 でメールを取得して、添付 JPEG 画像を web サーバーのとあるディレクトリに保存する。
  3. 保存してある JPEG 画像を .aspx ページで一覧表示。

のようなことをしようと思ったのですが・・・

 

POP3 受信で苦労する

.NET の基本ライブラリにはメール受信が無い!

自分サーバーなら Windows 2003 の POP3 ドロップディレクトリ(正式な名前は?)に落ちてきたファイルを捕まえたり、smtpreg.vbs (だっけか?)でハンドラ登録して飛んできたメールを捕まえたり出来たのですが、借り物サーバーではそういうのは無理。

結局、これ を使わせていただくことにしました。

 

添付ファイルの保存に失敗する

TKMP.Reader.File クラスの FileSave メソッドを使うと、System.Exception 例外が発生。

例外メッセージは「ファイル展開エラー」のみ。

・・・これじゃわからんて。

InnerException を設定してください > TKMP.DLL の作者様

 

セキュリティ例外

FileSave(string) が無理っぽいので、System.IO.File クラスの WriteAllBytes(string, byte[]) で保存することにしたけど・・・

出た!セキュリティ例外

何でダメなんでしょうね?(フォルダ作成でも例外が発生するし・・・)

画像ファイルはバイナリデータとして SQL Server に入れるしかないのでしょうか?(そんなわけ無い! Community Server はファイル保存に成功している)

 

解決したような気がする

結局、FileMode.CreateNew な FileStream に BinaryWriter で Write(byte[]) するとセキュリティ例外が出ませんでした。

一体何が違うというのか???

 

とりあえず、解決したので、これで風呂入れます。そして寝る。