KENT-WEB サポートコーナー 過去ログ [ 0224 ]


記事No: 14426
投稿日: 2015/11/20(Fri) 14:00:23
タイトルPOSTMAILでのエンコードエラー
ID情報: panichan
投稿者: しお
URLhttp://lavenirgoods.com/contact-us.html

はじめまして。
この度、POSTMAILをロリポップエコノミーに設置をさせて頂こうと考えております。

実際に、HTMLの中に、POSTMAILを組み込んでみましたが、下記のエラーが、フォーム入力確認後、送信ボタンを押し、thnaks.htmlが表示される手前で出てしまいます。

-------------------- postmail.cgi実行後のエラー -------------
Software error:

invalid icode [shift-jis] at lib/Unicode/Japanese.pm line 185.

For help, please send mail to the webmaster (admin@pepabo.com), giving this error message and the time and date of the error.
------------------------------------------------------------

エラーメッセージの通り、shift-jisのエンコードが怪しいと思うのですが、基本は全てのファイルフォーマット、コード内の記述共に、shift-jisを指定しています。Japanese.pmは初期のママで利用、init.cgiは、$cf{kcode} = 'Shift-JIS'を指定です。

なお、POSTMAILのデフォルト設置は、問題無くフォームの動作が行われ、メールが送信されます。よって、私がHTML上に組み込んだコードが悪いのだとは推測するのですが、何が悪いのかがわからない状況です。

ご存じの方がおりましたら、アドバイスを頂けると幸いです。
どうぞ、宜しくお願い致します。


記事No: 14427
投稿日: 2015/11/20(Fri) 17:17:21
タイトルRe: POSTMAILでのエンコードエラー
ID情報: hirayama
投稿者: hirayama
URLhttp://shade-search.com/sts/fsw/wiki.cgi

フォームはhttp://lavenirgoods.com/contact-us.htmlですか?
送信先が postmail/postmail.cgi ではなく、mailform/postmail.cgi になっていますが
それでいいのでしょうか。


記事No: 14428
投稿日: 2015/11/20(Fri) 17:28:37
タイトルRe^2: POSTMAILでのエンコードエラー
ID情報: panichan
投稿者: 鐃緒申鐃緒申
URLhttp://lavenirgoods.com/contact-us.html

> フォームはhttp://lavenirgoods.com/contact-us.htmlですか?
> 送信先が postmail/postmail.cgi ではなく、mailform/postmail.cgi になっていますが
> それでいいのでしょうか。

はい、恐らく問題無いと推測していますが、勘違いでしょうか?
mailformディレクトリの中で、関連ファイルを動かしていて、
cgiファイルの中身のパスも、相対パスで動かしています。


記事No: 14429
投稿日: 2015/11/20(Fri) 17:28:52
タイトルRe^3: POSTMAILでのエンコードエラー
ID情報: panichan
投稿者: しお
URLhttp://lavenirgoods.com/contact-us.html

> > フォームはhttp://lavenirgoods.com/contact-us.htmlですか?
> > 送信先が postmail/postmail.cgi ではなく、mailform/postmail.cgi になっていますが
> > それでいいのでしょうか。
>
> はい、恐らく問題無いと推測していますが、勘違いでしょうか?
> mailformディレクトリの中で、関連ファイルを動かしていて、
> cgiファイルの中身のパスも、相対パスで動かしています。
>


記事No: 14431
投稿日: 2015/11/20(Fri) 18:50:12
タイトルRe^4: POSTMAILでのエンコードエラー
ID情報: hamel
投稿者: Hamel
URLhttp://drc3.news-site.net/script1/

> > > フォームはhttp://lavenirgoods.com/contact-us.htmlですか?
> > > 送信先が postmail/postmail.cgi ではなく、mailform/postmail.cgi になっていますが
> > > それでいいのでしょうか。
> >
> > はい、恐らく問題無いと推測していますが、勘違いでしょうか?
> > mailformディレクトリの中で、関連ファイルを動かしていて、
> > cgiファイルの中身のパスも、相対パスで動かしています。
> >

>フォーム入力確認後、送信ボタンを押し、thnaks.htmlが表示される手前で

つまり、入力確認画面には正常に移動して
そこから送信ボタンを押して送信しようとするとエラーが出るということですよね?

入力確認画面に行くまでは

<form action="mailform/postmail.cgi" method="post">

であるのに

入力確認画面においては

<form action="./postmail.cgi" method="post">

上のように記述されている(パスが違う)ので、エラーになるのではないでしょうか?


記事No: 14432
投稿日: 2015/11/20(Fri) 19:24:55
タイトルRe^5: POSTMAILでのエンコードエラー
ID情報: panichan
投稿者: しお
URLhttp://lavenirgoods.com/contact-us.html

> > > > フォームはhttp://lavenirgoods.com/contact-us.htmlですか?
> > > > 送信先が postmail/postmail.cgi ではなく、mailform/postmail.cgi になっていますが
> > > > それでいいのでしょうか。
> > >
> > > はい、恐らく問題無いと推測していますが、勘違いでしょうか?
> > > mailformディレクトリの中で、関連ファイルを動かしていて、
> > > cgiファイルの中身のパスも、相対パスで動かしています。
> > >
>
> >フォーム入力確認後、送信ボタンを押し、thnaks.htmlが表示される手前で
>
> つまり、入力確認画面には正常に移動して
> そこから送信ボタンを押して送信しようとするとエラーが出るということですよね?
>
> 入力確認画面に行くまでは
>
> <form action="mailform/postmail.cgi" method="post">
>
> であるのに
>
> 入力確認画面においては
>
> <form action="./postmail.cgi" method="post">
>
> 上のように記述されている(パスが違う)ので、エラーになるのではないでしょうか?

ご指摘頂いた箇所を確認する為に、「入力確認画面」のformには"/mailform/postmail.cgi"と絶対パスに置き換えてみました。
結果、エラー内容はやはり変わらずでした。パスがもし、間違っていると404エラーになるので、該当箇所が原因では無いかもしれません。


記事No: 14433
投稿日: 2015/11/20(Fri) 19:49:20
タイトルRe^6: POSTMAILでのエンコードエラー
ID情報: hamel
投稿者: Hamel
URLhttp://drc3.news-site.net/script1/

> > > > > フォームはhttp://lavenirgoods.com/contact-us.htmlですか?
> > > > > 送信先が postmail/postmail.cgi ではなく、mailform/postmail.cgi になっていますが
> > > > > それでいいのでしょうか。
> > > >
> > > > はい、恐らく問題無いと推測していますが、勘違いでしょうか?
> > > > mailformディレクトリの中で、関連ファイルを動かしていて、
> > > > cgiファイルの中身のパスも、相対パスで動かしています。
> > > >
> >
> > >フォーム入力確認後、送信ボタンを押し、thnaks.htmlが表示される手前で
> >
> > つまり、入力確認画面には正常に移動して
> > そこから送信ボタンを押して送信しようとするとエラーが出るということですよね?
> >
> > 入力確認画面に行くまでは
> >
> > <form action="mailform/postmail.cgi" method="post">
> >
> > であるのに
> >
> > 入力確認画面においては
> >
> > <form action="./postmail.cgi" method="post">
> >
> > 上のように記述されている(パスが違う)ので、エラーになるのではないでしょうか?
>
> ご指摘頂いた箇所を確認する為に、「入力確認画面」のformには"/mailform/postmail.cgi"と絶対パスに置き換えてみました。
> 結果、エラー内容はやはり変わらずでした。パスがもし、間違っていると404エラーになるので、該当箇所が原因では無いかもしれません。

>入力確認画面」のformには"/mailform/postmail.cgi"と絶対パス
上ではパスが違うと思います

"/mailform/postmail.cgi"ではなくて

"./mailform/postmail.cgi"か"mailform/postmail.cgi"

上記の記述になると思います。


記事No: 14434
投稿日: 2015/11/20(Fri) 20:03:46
タイトルRe^7: POSTMAILでのエンコードエラー
ID情報: panichan
投稿者: 鐃緒申鐃緒申
URLhttp://lavenirgoods.com/contact-us.html

> > > > > > フォームはhttp://lavenirgoods.com/contact-us.htmlですか?
> > > > > > 送信先が postmail/postmail.cgi ではなく、mailform/postmail.cgi になっていますが
> > > > > > それでいいのでしょうか。
> > > > >
> > > > > はい、恐らく問題無いと推測していますが、勘違いでしょうか?
> > > > > mailformディレクトリの中で、関連ファイルを動かしていて、
> > > > > cgiファイルの中身のパスも、相対パスで動かしています。
> > > > >
> > >
> > > >フォーム入力確認後、送信ボタンを押し、thnaks.htmlが表示される手前で
> > >
> > > つまり、入力確認画面には正常に移動して
> > > そこから送信ボタンを押して送信しようとするとエラーが出るということですよね?
> > >
> > > 入力確認画面に行くまでは
> > >
> > > <form action="mailform/postmail.cgi" method="post">
> > >
> > > であるのに
> > >
> > > 入力確認画面においては
> > >
> > > <form action="./postmail.cgi" method="post">
> > >
> > > 上のように記述されている(パスが違う)ので、エラーになるのではないでしょうか?
> >
> > ご指摘頂いた箇所を確認する為に、「入力確認画面」のformには"/mailform/postmail.cgi"と絶対パスに置き換えてみました。
> > 結果、エラー内容はやはり変わらずでした。パスがもし、間違っていると404エラーになるので、該当箇所が原因では無いかもしれません。
>
> >入力確認画面」のformには"/mailform/postmail.cgi"と絶対パス
> 上ではパスが違うと思います
>
> "/mailform/postmail.cgi"ではなくて
>
> "./mailform/postmail.cgi"か"mailform/postmail.cgi"
>
> 上記の記述になると思います。

度々、ありがとうございます。
mailform/postmail.cgiへの変更、./mailform/postmail.cgiへの変更共に404エラーとなりました。
404エラー画面時のURLは、
http://lavenirgoods.com/mailform/mailform/postmail.cgi
ですので、mailformディレクトリが連続してしまっているのが原因です。

そもそも、デフォルトのPOSTMAILからの主な変更点は、
postmailフォルダ名をmailformへ変更、htmlファイル名の変更、この2点です。これに合わせて、入力画面内htmlのパスでもpostmailからmailformにパスとファイル名変更のみです。
ディレクトリ名、ファイル名を変えただけで、ファイルの配置は同じなので、理論上は正常に遷移すると考えています。

POSTMAILのディレクトリを、ルート配下に入れると、正常に動くので、sendmailやperlのパス等も、正しいとは思うのですが、ハマっています。


記事No: 14435
投稿日: 2015/11/21(Sat) 00:56:56
タイトルRe^8: POSTMAILでのエンコードエラー
ID情報: hamel
投稿者: Hamel
URLhttp://drc3.news-site.net/script1/

> > > > > > > フォームはhttp://lavenirgoods.com/contact-us.htmlですか?
> > > > > > > 送信先が postmail/postmail.cgi ではなく、mailform/postmail.cgi になっていますが
> > > > > > > それでいいのでしょうか。
> > > > > >
> > > > > > はい、恐らく問題無いと推測していますが、勘違いでしょうか?
> > > > > > mailformディレクトリの中で、関連ファイルを動かしていて、
> > > > > > cgiファイルの中身のパスも、相対パスで動かしています。
> > > > > >
> > > >
> > > > >フォーム入力確認後、送信ボタンを押し、thnaks.htmlが表示される手前で
> > > >
> > > > つまり、入力確認画面には正常に移動して
> > > > そこから送信ボタンを押して送信しようとするとエラーが出るということですよね?
> > > >
> > > > 入力確認画面に行くまでは
> > > >
> > > > <form action="mailform/postmail.cgi" method="post">
> > > >
> > > > であるのに
> > > >
> > > > 入力確認画面においては
> > > >
> > > > <form action="./postmail.cgi" method="post">
> > > >
> > > > 上のように記述されている(パスが違う)ので、エラーになるのではないでしょうか?
> > >
> > > ご指摘頂いた箇所を確認する為に、「入力確認画面」のformには"/mailform/postmail.cgi"と絶対パスに置き換えてみました。
> > > 結果、エラー内容はやはり変わらずでした。パスがもし、間違っていると404エラーになるので、該当箇所が原因では無いかもしれません。
> >
> > >入力確認画面」のformには"/mailform/postmail.cgi"と絶対パス
> > 上ではパスが違うと思います
> >
> > "/mailform/postmail.cgi"ではなくて
> >
> > "./mailform/postmail.cgi"か"mailform/postmail.cgi"
> >
> > 上記の記述になると思います。
>
> 度々、ありがとうございます。
> mailform/postmail.cgiへの変更、./mailform/postmail.cgiへの変更共に404エラーとなりました。
> 404エラー画面時のURLは、
> http://lavenirgoods.com/mailform/mailform/postmail.cgi
> ですので、mailformディレクトリが連続してしまっているのが原因です。
>
> そもそも、デフォルトのPOSTMAILからの主な変更点は、
> postmailフォルダ名をmailformへ変更、htmlファイル名の変更、この2点です。これに合わせて、入力画面内htmlのパスでもpostmailからmailformにパスとファイル名変更のみです。
> ディレクトリ名、ファイル名を変えただけで、ファイルの配置は同じなので、理論上は正常に遷移すると考えています。
>
> POSTMAILのディレクトリを、ルート配下に入れると、正常に動くので、sendmailやperlのパス等も、正しいとは思うのですが、ハマっています。

通常で言えば、postmail.htmlの画面での

<form action="mailform/postmail.cgi" method="post">
これも、確認画面と同じように
<form action="./postmail.cgi" method="post">
としたほうが良いと思います。

postmailというフォルダ名をmailformと名称だけを変更したのなら
他はどこもいじる必要はないと思います。
デフォルトのpostmail.html内でも
<form action="./postmail.cgi" method="post">
と記述されていますので、それと同じで良いですし、
確認画面での記述は
<form action="!mail_cgi!" method="post">
となっているので、これもいじる必要はないと思います。


記事No: 14438
投稿日: 2015/11/21(Sat) 12:23:11
タイトルRe^9: POSTMAILでのエンコードエラー
ID情報: hirayama
投稿者: hirayama

エラーメッセージからすると、Japanese.pm がらみのエラーっぽいので、
init.cgiで強制的にJapanese.pmを使わないようにするという方法もあると思います。

if ($] < 5.006) {
  ↓
if (1 || $] < 5.006) {


[検索ページ] [掲示板]