プロが教えるわが家の防犯対策術!

既存のページに組み込まれたCGIプログラムをカスタムしています。
組み込まれているページでは、ある企業の資料請求フォーム(30~40の製品ごとのチェックボックスがあり、その他メールアドレスと備考欄のようなテキストボックスがあります。)と、普通のメールフォーム(メールアドレスと問い合わせ内容を記入できる。)の2つのフォームがあり、同じCGIプログラムで動かしていますが、そのプログラム上では、送信内容の控え、申し込み確認のメールが記入者に送れず、そこを改善するのが目的です。
いろいろなフリーのCGIを見てみましたが、まだそこまで高機能なものを必要としない、初めてCGIを触る初心者のため、高機能なものは徐々に学んでからと思っています。
そこで素人ながらに思ったのが、既存のCGIへの追記です。
したいことは、今までフォームを入力すると指定先(企業)へ送信されますが、
記入者の記入したメールアドレスが、送信先となり、BCCで企業へ送られるようにできればいいなと思っています。
使われているCGIのメール送信にかかわる場所はココになると思います。
print MAIL "To: $mailto\n";の箇所が入力されたアドレスになり、BCCで企業宛てのメールアドレスを設定する項目を増やせばいいのかな?と思っていますが、どうやって入力されたメールアドレスを反映させるのか?、どうやってBCCを足すのか?(print MAIL "Bcc: 企業のメールアドレス\n";)などわからないなりに試してみましたが何をしてもうまくいかないです。どなたかご教授いただければと思います。
よろしくお願いいたします。

open(MAIL,"| $sendmail -t -i");
print MAIL "To: $mailto\n";
print MAIL "From: $mailto\n";
print MAIL "Subject: FormMail\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n\n";
print MAIL "$mailbody\n";
close(MAIL);

A 回答 (1件)

sendmailに-tオプションがついていますので、おっしゃるとおり


print MAIL "Bcc: 企業のメールアドレス\n";
をToの次の行あたりに追加すればいいはずです。

これが何をしてもうまくいかないというのであれば、メール送信で使われているCGIがこれではない、という気がします。
まず他に影響が出ないFromやSubjectの内容を変更してみて反映されるか確認してみてください。

また、記入者に返すメールはまったく同じものを返すより、「メールを受け付けました」という別の形式にした方がいいんじゃないでしょうか。

いずれにせよCGIやHTMLの知識ですので検索を利用したり本を買うなど色々調べてみてください。
    • good
    • 0
この回答へのお礼

luka3様>
早々にご返信いただいたにもかかわらず返信が遅くなり失礼いたしました。
print MAIL "Bcc: 企業のメールアドレス\n";
上記に関しては、もう一度きれいに打ち込みなおしましたら反映されました。
入力時に誤りがあった模様です・・・お恥ずかしいしだいです。

次に、いろいろと検索をかけてみたのですが、
フォームに入力されたアドレスをToに設定する方法ですが、何とかわかったのが、
$mailtoの部分に入力されたアドレスが入るようにすればいいので、
そういう図式?といえばいいのでしょうか?を作成すればいいと思いましたが、うまくいかずです。
行った内容は、

sendmailコマンド以前。。。CGIをメモ帳で開いたはじめの方に
下記を書き加えればいいと思いますが、うまくいかずでした。

$●●● = '????';

※HTML側では、メールアドレスを書き込むフィールドのタグを下記のように設定。
<input name="●●●" type="text" class="font1"アドレス" ize="40" /></td>


open(MAIL,"| $sendmail -t -i");
print MAIL "To: $●●●\n";

「????」の部分を正しく表記すれば動作すると思いますが、いくつか試してみましたが、
どれもうまくいかずでした。

根本的に考え方が間違えているのでしょうか?

いろいろと調べていると、今私がしていることは初歩の初歩のようで恥ずかしいですが、
googleなどで調べても思い通りの答えを導けずでした。

正しい表記もしくは、どのように調べるといいかお教えいただけますでしょうか?

この辺をクリアして、依頼主にきちんと説明ができるようになってから、
もっときれいにするには?など考えCGI自体を変えていくつもりです。

よろしくお願いいたします。

お礼日時:2010/11/04 23:24

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