- 締切済み
アンケートフォームに機能の付け加え。
ホームページ上で、訪問者からアンケートを採れるsendmailを使用した CGIを設置しています。ここに、訪問者から簡単な素材を提供して頂けるよう 以下のようなスクリプトに、小さなファイル(gif画像など)を 添付して送れるように機能を付け足したいです。 どうすればいいか、困っています。どうすればよいでしょうか? @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name,$value) = split(/=/,$pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $name =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; &jcode'convert(*name,'sjis'); &jcode'convert(*value,'sjis'); if ($name eq 'to') { $to = $value; } if ($name eq 'from') { $from = $value; } if ($name eq 'subject') { $subject = $value; } if ($name eq 'body') { $body = $value; } } # cheack if ($from eq "") { $from = "unknown\@."; } if ($from eq " ") { $from = "unknown\@."; } # send mail &jcode'convert(*from,'jis'); &jcode'convert(*subject,'jis'); &jcode'convert(*body,'jis'); if (!(open(MAIL,"| $sendmail -t"))) { &error('システムエラー','メールの送信に失敗しました。'); } print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n"; print MAIL "Content-Type: text/plain; charset=iso-2022-jp\n\n"; print MAIL "$body\n"; close(MAIL); # view html &jcode'convert(*from,'sjis'); &jcode'convert(*subject,'sjis'); &jcode'convert(*body,'sjis'); $body =~ s/\r\n/\r/g; $body =~ s/\n/\r/g; $body =~ s/\r/<BR>/g;
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- so_blue
- ベストアンサー率48% (50/104)
こんにちは。 > gif画像などを添付して送れるように ヘッダのContent-Typeを変更し、本文のそれぞれで指定するようです。 ヘッダ: Content-Type: text/plain; charset=iso-2022-jp ↓ Content-Type: multipart/mixed; boundary=hoge 本文: # 画像名は$imgに入っていると仮定 --hoge Content-Type: text/plain; charset=ISO-2022-JP $body --hoge--hoge Content-Type: image/gif; name=$img Content-Transfer-Encoding: base64 --hoge-- ...と書いたものの、実は下記URLを参考にしました(^^; 「multipart/mixed」で検索すると、いくつか見つかりますよ。 上手くいくとよいのですが...