Perlでのメール送信についてご教示ください。
[mail.pl]
my $q = new CGI;
my $from = $q->param('from');
if($from eq ""){
print "Content-type: text/plain; charset=Shift_JIS\n\n";
print "アドレスが入力されていません。\n\nブラウザの戻るボタンで戻ってください。";
exit(1);
}
my $mailto= 'aaaaa@aaaaaa.jp';
[mailform.pl]
#!/usr/bin/perl
print qq(Content-type: text/html; charset=Shift_JIS\n\n);
print <<END;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
アドレス(From):<font color="red" size="2">※必須</font><br />
<input type="text" name="from" size="50" value=""><br />
<br />
現在、mailperl.pl→mail.plにフォームからのデータの受け渡しをするようにしメールを送信しています。
そして、これをmail.html→mail.plにデータの受け渡しをしたいのですが、
どのようにすればいいのでしょうか・・?
また、まだしっかり理解できていない部分も多いため、説明が不足していたり
わかりずらいかと思います。その時は、ご指摘ください;;
No.2ベストアンサー
- 回答日時:
No.1です。
重箱の隅で恐縮ですが。。。
> まだまだ知識が足りていないですよね。。。
足りないのは「知識」ではなく「理解」です。
mailperl.plのメール入力画面の送出が出来ているのであれば、WebブラウザでHTMLを見ることが出来ますね。
そのHTMLとmail.htmlの比較はされましたか?
まさかmailperl.plモジュールと同じフォルダ(ディレクトリ)にmail.htmlファイルを置いて「画面が表示されない」といったことではないですよね?
Webサーバー上のコンテンツの配置設定は理解されていますよね?
はい・・・理解も足りていないですね・・・・;;
その理解が足りていないせいで、
今までフォームもPerlで処理していて、それをサーバーには送っていたのですが、実行するのがブラウザ上でなく送信していました。それが送信できていて、
今までmail.htmlも、同様にしていました。
しかし、ブラウザ上で実行すると、問題なく送信できました。
これが、まだWebの基礎に関して、理解できていないせいですorz
>Webサーバー上のコンテンツの配置設定は理解されていますよね?
100%理解しているかといわれると怪しいですが、
これは、大丈夫だと思います・・・
No.1
- 回答日時:
まだWebの世界の基本中の基本を理解されていないようで。
。。まず、HTMLの通信はWebサーバーが1つの画面を送出した所で完結します。
静的画面だとHTMLを送出した所で一つの通信処理が終了します。
その画面内に画像が1個有ったとしましょう。Webブラウザは受信したHTMLの内容を解釈して表示を行う処理の過程で画像ファイルがあってその場所が正しい書式で行われていると解釈するとそのファイルを指定されたサーバに要求します。これは先のHTMLとは独立した通信です。
そういう仕組みで出来上がっています。
で。
mailperl.plというサーバー上のプログラムが送出しているHTMLは上記のようにWebブラウザがそれを受信し画面を表示し終わった時点で完結します。つかり表示したらサーバとはつながっていません。
なので、mailperl.plが送出するHTMLと、お考えのmail.htmlに仕込まれているFORM変数の名前とデータ型が全く同じで、Submit先も同じなのでしたらmail.plは何も影響を受けません。プログラム名はmail.plのままでよいですし、中のFORM変数を受け取って処理する部分もそのままで問題無いです。
どうもPerlというサーバ側のプログラムの世界と、Webブラウザ側の表示&画面入力の世界の区別がついていないように見えます。
その辺の基本中の基本をちゃんと理解されるとよいでしょう。
CGIはその理解があった上で行わないと混乱します。
まぁPerという言語の仕様も初心者にはその辺お混乱を招く要素だとは思いますが。。。
参考まで。
ご回答ありがとうございます。
まだまだ知識が足りていないですよね。。。
<form action="./cgi/mail.pl" method="post">
<input type="hidden" name="a" value="exec">
名前(Name) :<font color="red" size="2">※必須</font><br />
<input type="text" name="Name" size="30" value=""><br />
<br />
以下~他の処理
<p>
<input type="submit" value="送信">
<input type="reset" value="リセット">
</p>
</form>
このフォームからフォームをHTMLソースにそのまま記述し
mail.plに関してはそのままで実行しているのですが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perl フォームメール送信の...
-
Perlからメール送信で文字化け
-
sendmailで複数アドレスに送信...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
メモリをアドレスを直接指定し...
-
SELECT OPTIONの中身をコピペ...
-
FindFirst を複数条件で検索
-
【至急!!!】python言語で本を見...
-
構造体の各データの表示につい...
-
文字の横にプルダウンを表示さ...
-
ACCESS テキストボックスを隙...
-
セレクトメニューで2つの項目...
-
UWSCのSELECT文の記述方法
-
16進の10進変換について
-
formで特定のinputを送信しない...
-
テーブル内でドロップダウンメ...
-
「*:*」って何を意味するのでし...
-
C言語のflagの使い方が分かりま...
-
c言語 16進数の2進数への変換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sendmailで複数の宛先にメール...
-
フォームの日本語が文字化け
-
Perlからメール送信で文字化け
-
Sendmailで送信。メアドが違う...
-
CGI メールフォームからBCCのア...
-
perl フォームメール送信の...
-
Perl からbashを呼び出したい
-
sendmailで複数アドレスに送信...
-
perl で mailto: リンク
-
auのiPhoneでの受信メールが文...
-
sendmailが上手く動かないのか...
-
メールフォームの訪問者情報取...
-
自動返信について
-
crontabで
-
sendmailのFROMに日本語を使う
-
cgi.pmで作成されたsendmailプ...
-
メールのタグ(<a href="mailto:...
-
sendmailについて
-
netsend で振り分け
-
メールフォームCGIの文字化け。...
おすすめ情報