プロが教える店舗&オフィスのセキュリティ対策術

フォームの入力→メール受信 です。
メールは無事に受信されるのですが、本文が白紙で何も届きません。。(>_<)

CGIの知識がなく、フリーの素材を使わさせて頂いているので、
どこの部分を、修正してよいのか全くわかりません。

下記がメールの送信に関連してるかと想う箇所です。

追加する文字や修正する個所があれば教えてください。
宜しくお願い致します。


jcode'convert(*Subject1,'jis');
&mail($Subject1,$in{'mail'});
print OUTMAIL "$in{'name1'}様\n\n";
print OUTMAIL "この度はご注文頂き、ありがとうございます。\n";
print OUTMAIL "お申し込み内容を確認させて頂きます。\n";
print OUTMAIL "下記明細にてご注文を承りました。\n";
print OUTMAIL "なお、3日経過しても当方から連絡がない場合は、遠慮なくご催促いただけますよう\n";
print OUTMAIL "お願いします。その際には、このメールの内容をお書き添えください。\n\n";
&mail2;
 

A 回答 (2件)

このままでは誰にも判りません


補足要求1. sub mail と sub mail2 の内容を補足に書いてください
補足要求2. 配布されているスクリプトなら配布元のURL
 自分で書いた場合に、参考にしたページがあれば、そのURL を書いてください

この回答への補足

ご回答ありがとうございます。すいません、勉強不足で。。

間違っていたたら申し訳ないです。
sub mail と sub mail2 の内容とは、下記の箇所で宜しいでしょうか。

お手数をおかけします。宜しくお願いいたします。

買い物カゴを利用させて頂いているのは、CGIの匠というサイトです。
http://www.ortecweb.com


#####メールヘッダ#####
sub mail {
if (!open(OUTMAIL,"| $mserver -t")) { &error("異常停止",$!); }
print OUTMAIL "To: $_[1]\n";
print OUTMAIL "Subject: $_[0]\n";
print OUTMAIL "From: $sendemail\n";
print OUTMAIL "Content-Transfer-Encoding: 7bit\n";
print OUTMAIL "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n\n";
print OUT "\n";
}

#####メール本文#####
sub mail2 {
print OUTMAIL "ご注文番号:$time\n";
print OUTMAIL "アドレス:$ENV{'REMOTE_ADDR'}\n";
print OUTMAIL "お客様名:$in{'name1'}\n";
print OUTMAIL "フリガナ:$in{'name2'}\n";
print OUTMAIL "郵便番号:$in{'post'}\n";
print OUTMAIL "ご住所:$in{'add1'}$in{'add2'}$in{'add3'}\n";
print OUTMAIL "電話番号:$in{'tel'}\n";
print OUTMAIL "メールアドレス:$in{'mail'}\n";
print OUTMAIL "性別:$in{'sex'}\n";
print OUTMAIL "お支払い方法:$in{'harai'}\n";
if($in{'cardno'} ne "") { print OUTMAIL "カードNo:$in{'cardno'}\n"; }
print OUTMAIL "配送時間:$in{'sendtime'}\n";
print OUTMAIL "その他メッセージ:$in{'etc'}\n\n";
print OUTMAIL "ご注文商品\n";
print OUTMAIL "$orderfix\n\n";
print OUTMAIL "$cyomei\n";
print OUTMAIL "\n\n";
close(OUTMAIL);
}

補足日時:2006/06/18 15:59
    • good
    • 0

こちらで試しましたが、ちゃんと本文も送られるようです



ためしに$Subject1 には日本語ではなく半角英数字のみを入れたらどうなりますか? 例: test など

あと、この件とは違うかと思いますが
sub mailの下の方にある print OUT "\n"; は
print OUTMAIL "\n"; ですよね?
また、この作り方だと文字化けは避けられないとおもいますがねえ
スクリプトのソースをISO-2022-JPにしちゃうと文法エラーになるでしょうし、、、

この回答への補足

ご回答ありがとうございます。

testに変えてみて、print OUTMAIL "\n";の所も直してみたんですが、やはりメールの本文は表示されませんでした。。(>_<)

少しご説明不足だったのですが、届いたメールでSubject1の部分は日本語でも英数字でも表示されます。尚、管理者に届く確認メールは、Subject1だけで後は表示されません。注文者に届くメールの方は、Subject2の部分と名前を英数字で入力したときにだけ、名前の箇所が表示されます。その他の本文の箇所は全く表示されません。

その他、写真を表示したり、買い物かご自体は普通に動きます。

メール返信の部分だけなのですが、ご指摘のなにかのエラーで表示されないのでしょうか。。

もしエラーの出にくい違う作り方に直すのだったらどこの箇所を書き換えたら良いのでしょうか。。

重ねてお時間をおとりして申し訳ないです。ご指導頂ければ嬉しく想います。

宜しくお願いたします。

補足日時:2006/06/19 08:30
    • good
    • 0
この回答へのお礼

ありがとうございます。
その後もいろいろ試してみたのですが、上手く表示されませんでした。
メールは受信されるので、使用しているメールソフトのフォントの問題なのでしょうか。。(>_<)  いろいろ調べてみます。
貴重なご回答ありがとうございました。

お礼日時:2006/06/20 16:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!