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


記事No: 14154
投稿日: 2015/08/26(Wed) 09:56:17
タイトルメールに送信者名を入れる
ID情報: hiropii
投稿者: hiro
URLhttp://kyobi-h.net/individual/Customer/honda-sama/index.html

複数人のユーザーに対して、それぞれ専用ページを作って、情報発信をしているのですが、そこにCaptcha Mail cgiへのリンクを設置しています。
 ユーザーが管理者に問い合わせする際は、専用ページ内のそのリンクを開き、要件を書いていただき送ってもらいます。
送信後に送られる管理者宛の投稿連絡メールには、メールフォームにお名前の記入がないと、誰からの投稿かがわかりません。
専用ページからの送信なのでユーザーの名前を入れてもらうのも煩わしいかと思いまして、
専用ページに書かれている ○○さまページという部分を抜き出して、投稿連絡メールに書き加えたいのです。
専用ページにフォームを埋め込めば良いようにも思いますが、
出来れば、フォームとは分けたいのです。
<No.13184>での回答を参考にしようとしたのですが、これではやはり、お名前を入れていただかないといけないようで、違うやり方が必要なのだと思います。
すごく初歩的なないようだと思いますが、、もっと簡単に処理できるようなやり方があればご教授いただけると助かります。

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


記事No: 14156
投稿日: 2015/08/26(Wed) 16:58:46
タイトルRe: メールに送信者名を入れる
ID情報: hirayama
投稿者: hirayama
URLhttp://shade-search.com/sts/fsw/wiki.cgi

なかなか簡単には処理できないと思います。

専用ページはhtmlのようですが、これはどうやって作られたページなのでしょうか。
別のCGIで作られたものだとしたら、そのCGIも改造が必要になると思います。

手順としては専用ページのhtmlの「メッセージはこちらから」リンクに
message-captmail.cgiのURLが記載されていますが、このURLに
"?user=○○さま"のような文字列を追加するようhtmlを作っているCGIを改造する。
これでmessage-captmail.cgiにユーザー名の情報を送ります。
(「○○さま」部分はURLエンコードしたほうがいいです。)

captmailの方では、受け取った「○○さま」をお名前フォームの初期値にするようにするか
あるいはhidden要素としてフォームから送るように、message-captmail.cgiを改造する。
お名前フォームの初期値にする方法では、初期値の名前を消して送信されたらメールにも反映されないことになります。
この部分はテンプレートのform.htmlを読み込んで表示することになっているので、
form.htmlの修正も必要になります。

さらに管理者メール送信処理で、フォームから送られた「○○さま」を管理者宛メールに表示する改造も必要です。
この部分は<No.13184>が参考になると思います。


記事No: 14188
投稿日: 2015/08/29(Sat) 09:39:26
タイトルRe^2: メールに送信者名を入れる
ID情報: hiropii
投稿者: hiro
URLhttp://kyobi-h.net/individual/Customer/honda-sama/index.html

hirayama様

投稿に気づかず、お返事が遅くなり申し訳ございません。
また、てけてん様もご回答をありがとうございました。

> 専用ページはhtmlのようですが、これはどうやって作られたページなのでしょうか。
こちらは、ホームページ作成ソフトのテンプレートを使って作成しているもので、単なるhtmlの書き込みです。

> "?user=○○さま"のような文字列を追加するようhtmlを作っているCGIを改造する。
> これでmessage-captmail.cgiにユーザー名の情報を送ります。
上記のようにcgiでhtmlを作っているわけではないのですが、
send-name.cgiというものを作り、message-captmail.cgiへ"?user=○○さま"というデータ自動的に送り、尚かつmessage-captmail.cgiを自動起動させればいいのでしょうか。。。
send-name.cgiの作成、message-captmail.cgiとform.htmlの改造が必要そうですね。

てけてん様ご指摘のBASIC認証については
お察しの通り、アクセス制限しております。

大物の皆様にご指導いただきましたが
今の私では、自己解決出来ようには思えません。
まずはcgiというものを勉強すべきだとつくづく感じます。
大切なお時間を頂戴しまして、ありがとうございました。

残念ですがサンプルページのまま運用させていただきます。
管理者メール送信処理は<No.13184>を参考に改造させていただく予定です。

皆様、ありがとうございました。


記事No: 14207
投稿日: 2015/08/31(Mon) 16:56:49
タイトルRe^3: メールに送信者名を入れる
ID情報: hirayama
投稿者: hirayama
URLhttp://shade-search.com/sts/fsw/wiki.cgi

>上記のようにcgiでhtmlを作っているわけではないのですが、
>send-name.cgiというものを作り、message-captmail.cgiへ"?user=○○さま"というデータ自動的に送り、尚かつmessage-captmail.cgiを自動起動させればいいのでしょうか。。。
>send-name.cgiの作成、message-captmail.cgiとform.htmlの改造が必要そうですね。
直接HTMLを書いているのなら、CGIを別に作る必要はないです。
HTMLのリンク部分
<a href="../../../webform/captmail-utf/message-captmail.cgi">メッセージはこちらから</a>

<a href="../../../webform/captmail-utf/message-captmail.cgi?user=○○さま">メッセージはこちらから</a>
のように書き換えるだけですが、URLで値を渡す場合、日本語文字列はURLエンコードしておいた方が無難です。
CGIで書き出しているのなら、CGIでエンコードすればいいのですが、HTMLに直接となると、
たとえば
http://www.tagindex.com/tool/url.html
のようなサービスを利用すればいいかもしれません。
そのままでもいけるかもしれませんが...

あるいは、リンクではなく、フォームでmessage-captmail.cgiに誘導する方が簡単かもしれません。
リンク部分を
<form action="../../../webform/captmail-utf/message-captmail.cgi" method="post">
<input type="hidden" name="user" value="○○さま">
<input type="submit" value="メッセージはこちらから">
</form>
のように書き換えるとか。
これだとURLエンコードは必要ありません。


記事No: 14157
投稿日: 2015/08/26(Wed) 17:10:34
タイトルRe: メールに送信者名を入れる
ID情報: teketen
投稿者: てけてん

> 複数人のユーザーに対して、それぞれ専用ページを作って、

これって、BASIC認証などでアクセス制限などされていますか?
(参照先はサンプルページなのかな?と思ったので、確認)

追記:
コメントを書いている間に、hirayamaさんが返信されていたので、そちらを参考にしてください。


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