CGI-BBS > 情報収集 > フォームメール > フォームメール(form2mail)について添付ファイルを認識しない。


カレッヂ
カレッヂ


質問者 こ〜ちゃん  投稿日 2004/11/7(日) 07:00:02
form2mail 1.20でファイルを添付して送っても受信側で添付ファイルとして
認識されず、添付内容がすべて本文として表示されてしまいます。
ヘッダ部分を見ると、空行が1行挿入されているのですが、これが問題なのかな?と
思っているのですが、この空行の解消方法がわかりません。

アドバイスをお願いいたします。

プロバイダ参照:
サーバのOS:UNIXサーバ
パソコンのOS:WinNT系
エディタ:JmEditor2
FTPソフト:NextFTP
サーバ移転:していない
改造:していない
CGI習熟度:(未選択)

回答者 dental  [削除]  投稿日 2004/11/7(日) 11:04:47
他のメールソフトで受信したらどうなるのかな?
OutlookExpress 及び Becky で添付ファイル付きメールを受信したが特に問題はなかったですね。

具体的にメールソフトは何で、どんなデータを送るとそうなるか書かないと再現できません。
質問者 こ〜ちゃん  [削除]  投稿日 2004/11/7(日) 11:10:45
受信はMozilla mailで行っており、送信時に添付したファイルはMicrosoft Excelの
ブックです。
質問者 こ〜ちゃん  [削除]  投稿日 2004/11/7(日) 11:35:33
Outlook Expressで受信を試してみましたが、やはり添付ファイルとして認識されずに
内容が全部本文として表示されてしまいました。

ヘッダの該当部分ですが
> Content-Type: text/plain; charset="ISO-2022-JP"
> Status:  U
> X-UIDL: 1099794438.14766.smbox51
> 
> multipart/mixed;
>  boundary="-----------------------------41184676334"

このように空行が挿入されてヘッダとして認識されていないようなのです。
メーラー同士の添付ファイルつきメールの送受信にはこのような空行は入ってませんでした。
あと、本来 multipart/mixed;の前にはContent-type:がつかなければいけないのが付いていません。
スクリプトファイル自身が壊れている可能性もあるのでしょうか?
回答者 dental  [削除]  投稿日 2004/11/7(日) 12:12:02
下記を試してみてください。

form2mail.cgi 325行目付近〜を変更

旧コード)
  push(@MailValue,$SUBJECT);
  push(@MailValue,"MIME-Version: 1.0\n");
  push(@MailValue,"Content-Transfer-Encoding: 7bit\n");
  push(@MailValue,"Content-Type: text/plain; charset=\"ISO-2022-JP\"\n");
  
  if ($mix) { &send_mix; }
  else { &send; }
---------
新コード
  push(@MailValue,$SUBJECT);
  push(@MailValue,"MIME-Version: 1.0\n");
  push(@MailValue,"Content-Transfer-Encoding: 7bit\n");

  if ($mix) { &send_mix; }
  else {
   push(@MailValue,"Content-Type: text/plain; charset=\"ISO-2022-JP\"\n");
   &send; }
--------

質問者 こ〜ちゃん  [削除]  投稿日 2004/11/7(日) 12:27:36
アドバイスありがとうございました。

教えられたようにソースを修正したところ、正常に添付ファイルとして
認識するようになりました。

これでしばらく様子を見てみることにします。

ありがとうございました。
この質問はクローズさせていただきます。

このページは終了したので返信(回答)は書きこめません
 


Web裏技