フォームいじり

UDNの方を少しと、農園のフォームをちょっと変更しました。
余計なお節介はなるべくやめようという取り組みの一環として、メール内容の掲載が云々という項目を削除。代わりにメールの種類を選択してもらうようにしました。まぁこれも要らないと言えば要らないのだけど。
そして添付ファイルを送信出来るようにしてみました。色々問題もあるのですが、お試し気分で(ぇ
もし何か不具合が見られたらご連絡頂けると有り難いです。

ここから裏話。
使わせて貰ってるフォームには元々添付ファイルを付ける機能がありまして、その内使ってみようとは思っていたので今回ついでにやってみました。
が、問題なく添付出来たと思ったら、添付ファイルはきっちり届いてるのに本文が激しく文字化け。添付しないで送信したら普通なのに。原因を探ろうとCGIファイルを見てみると、添付ファイルの有無で吐き出す内容が違うようで、有りと無しを比較して不自然に違うところがあればそこが原因に違いないと思って、CGIの知識なんて皆無なのに無謀にも調査開始。と、探してみれば案の定、共通なのに記述が微妙に違うところを発見。ちょろいもんだぜと息巻いて変更してみましたが、全く変化無し。悪化するならともかく、変化無しということは少なくともそこが原因ではないということになります。つまり振り出しに戻る。
文字化けってことはエンコードに関する記述が何かしら絡んでいるに違いないとふんで、悪戦苦闘した末
print MAIL “Content-Transfer-Encoding: base64¥n”; を
print MAIL “Content-Transfer-Encoding: 7bit¥n”; と書き換えることにより解決しました。どうせ添付ファイルを処理するところにはbase64の記述があるのに、最初にも書いてあるのは変だなぁというのと、添付ファイル無しの場合は7bitしか使っていないことにヒントを得て辿り着きました。助かったー。自分の勘というよりはむしろ根性を褒めてあげたい(笑
とはいえ、結果的にこれで解消はされたものの、正しい記述になっているのかは全く不明。もしかしたら別環境の人だととんでもないことになるかも知れません。何か変な控えが送られてきたりしたらご連絡下さい(ぉ
配布元に報告しておくべきかなぁ・・理屈は解らないけど、事実だけは知らせておいた方が良いかも。
実はこの他にもそこそこ問題のある欠陥(バグでなく)が含まれているのですが、かなり根っこから変えないことには解決しなさげな問題なので、取り敢えずこのままやってみることにします。なるべく「送ろうと思ったけどやーめた」ってのは無しにして頂けると有り難いです(謎

このエントリーをはてなブックマークに追加
はてなブックマーク - フォームいじり
[`evernote` not found]

Leave a Reply

*