
既存のページに組み込まれた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件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
sendmailに-tオプションがついていますので、おっしゃるとおり
print MAIL "Bcc: 企業のメールアドレス\n";
をToの次の行あたりに追加すればいいはずです。
これが何をしてもうまくいかないというのであれば、メール送信で使われているCGIがこれではない、という気がします。
まず他に影響が出ないFromやSubjectの内容を変更してみて反映されるか確認してみてください。
また、記入者に返すメールはまったく同じものを返すより、「メールを受け付けました」という別の形式にした方がいいんじゃないでしょうか。
いずれにせよCGIやHTMLの知識ですので検索を利用したり本を買うなど色々調べてみてください。
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自体を変えていくつもりです。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleフォームを回答したか確...
-
フォームを再送信しますか?
-
ソケットで通信するデータの帯...
-
VB6で、Bsmtp.dllを使って、メ...
-
フォームメールでsendmailの使...
-
BASP21のSendMailとSendMailEx...
-
一日おくれでのメール送信CGI
-
お問い合わせフォームから送信...
-
Accessでメール一括送信ソフ...
-
ビジネスメールの敬称
-
エクセルVBA テキストボックス...
-
EXCEL VBA で指定した範囲に入...
-
WEB入力作業とは??
-
エディットボックスの入力制限...
-
テキストボックスの番号を使っ...
-
DataGridViewの桁数制限に関して
-
VBAでInputBoxの再入力をさせる...
-
DATE型変数を初期化する方法
-
CGIのメールフォームを、ウェブ...
-
POST時に履歴を残さない方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleフォームを回答したか確...
-
お問い合わせフォームから送信...
-
フォームを再送信しますか?
-
c# メールが送信できたか確認
-
BASP21のSendMailとSendMailEx...
-
ホームページビルダーのメール...
-
Accessでメール一括送信ソフ...
-
ベリファイチェック方式??
-
このページはどんなプログラム...
-
CGIプログラムを使った申し込み...
-
CGIでのメールフォーム作成■送...
-
web上でアンケートを作るには。
-
VB.NET(2005)の"SerialPort" ...
-
フォームで送信したメール
-
フォームがうまく送信できない
-
CGI? JS? ASP? 何...
-
VBA EasyCommでの送信
-
ソケットで通信するデータの帯...
-
一日おくれでのメール送信CGI
-
VB6で、Bsmtp.dllを使って、メ...
おすすめ情報