• 締切済み

Perlを使ったCGIでHTMLメールの送信

Perlを使ったCGIからHTMLメールの送信がしたいです。 そして、そのメール本文に、Formタグのボタンを付けて、そこからCGIのページを開きたいです。 メール送信はできていて、受信した時にHTML形式のメールになっているのですが、FormのボタンからさらにCGIを開こうとすると、ページは開いても、Body部分は空の状態のページが開きます。 そのFormの部分は、HTMLのページ上に設置するとそこからは希望通りのページの表示をしてくれます。 メール本文中にFormタグを設置してもうまく動かないのでしょうか。 CGIのメール送信部分は以下です。 my $mailtext =<<"MAILTO_TEXT"; To: aaa@bb.co.jp Cc: From: aaa@bb.co.jp Subject: テストです Content-Transer-Encording: 7bit Content-Type: text/html; charset=ISO-2022-JP テストです。<Br><BR> 下のボタンを押してご確認ください。<br><br> <form name="mst" method="post" action="aaaaaa.cgi" enctype="multipart/form-data"> <input name="submit" type="submit" value="詳細"></form> MAILTO_TEXT open(MAIL,"| $sendmail -f $mailto -t") ; print MAIL $mailtext; close (MAIL); おかしい部分、足りない部分などありましたら教えて下さい。 どうぞよろしくお願いいたします。

noname#223023
noname#223023
  • Perl
  • 回答数1
  • ありがとう数3

みんなの回答

回答No.1

action="aaaaaa.cgi" じゃなくて action="http://なんちゃら/パス/aaaaaa.cgi" では?

noname#223023
質問者

お礼

superside0 さん 回答有り難うございます。 はい、本番ではhttp://~となっております。 省略しております。 ややこしくてすみません。

関連するQ&A

  • HTMLのフォームを使用しメール送信すると全角が化けてしまうのですが・・・

    JavaSctript初心者です。 すみません、教えて下さい。 HTMLでボタンを押すと、 JavaScriptで、Windowを開き、 そのWindowにはメール送信する為のフォームを書き出し、 そのページからメールを送ることをやりたいのですが、 デコードしても全角が化けてしまいます。 ちなみにブラウザはIE5.0で、CGIは使用出来ません。 この書き出したページのソースをコピーしHTMLで適当に保存し、 そのページを直接開いてメール送信すると化けません。 (↑これが正常に見れるので、デコードの仕方に問題はないと思いますが・・・) ソースの違いはないのですが、何かやり方がまずいのでしょうか? JavaScriptの問題ではないかもしれませんが・・・ 見よう見真似で作っているものですから、 どなたか分かりましたら教えて下さい。 このソースは・・・ function fmurl(){ var win_opn=window.open('','win001',''); : win_opn.document.open("text/html"); win_opn.document.write("<META HTTP-EQUIV='Content-Type' CONTENT='text/html;CHARSET=Shift_JIS'> "); : win_opn.document.write("<FORM name='form01' action='mailto:****@****.co.jp?subject=AA' method='post'"); : win_opn.document.write("<INPUT size='50' type='text' name='F01' maxlength='50'>"); win_opn.document.write("<INPUT type='submit' value='送信'>");   : win_opn.document.close(); } // --> : <FORM><INPUT type="button" onclick="fmurl();" name="fmon" value="BTN"></FORM>

  • 送信フォームがきちんと作動しません~

    HTML文書中に次のような記述をし mailto:の後ろのメールアドレスは自分のメールアドレスに書き変えたのですが <form metho="POST" action="mailto:●●@△△.■■.jp"> <div>名前: <input type=text name="NAME" size=20></div> <div>感想: <input type="text" name="MSG" size=20></div> <input type="submit" value=" 送信 "> <input type="reset" value=" 取消 "> </form> このHTMLに枠内に文字を入れ 送信ボタンを押しても また アウトルックのメール用紙が出てきてしまい せっかく記入したものが送信できません (1) なぜ送信ボタンを押した内容が送信できないのでしょうか?   (mailto:~ のメールアドレスに送信されないの??) (2) 送信ボタンを押すと メール用紙がでてくるのはなぜでしょうか? (3) このソースですと 直接送ることは不可能ですか? (4) この場合 メッセージをデコードするという作業は必要なのですか? (5) CATVの環境で CGIが使えません  送信タイプの簡単なものを教えてく ださい

  • ホームページサービスのメール送信CGIについて

     HP画面に送信メール用CGI( <form action="/cgi-bin/mail2.cgi" method="post"> )をHTML本文に貼り付けアップ後、実際にHPから書き込み操作し「送信」ボタンを押すのですが結果何度繰り返しても同じで、指定先メールアドレスに一切何も届きません。 送信ボタンを押した後、サイト表示画面では送信完了となっています。 他のプロバイダーのCGIタブと比べると、auは少し違っているようですが入れ替えるとその部分がエラーで表示されます。 もうこのCGIは諦めようかとも思いますが、なにかアドバイス頂ければ幸いです。

    • 締切済み
    • CGI
  • submitで特定の情報だけを本文にするには?

    FORMで、SUBMITを使ってメールを送るSCRIPTの場合、送信する本文を指定されたVALUEだけにすることはできないのでしょうか? 下のようなスクリプトを書いています(以前の回答より引用しています) <script> function iSubmit() { var adress = document.myFORM.adress.value; document.myFORM.action="mailto:"+adress; document.myFORM.submit(); } </script> <FORM name="myFORM" method="post" str enctype="text/plain"> <INPUT type="text" NAME="adress"><BR> <INPUT type="text" NAME="mailtext"><BR> <INPUT type="button" VALUE="アドレス送信" onClick="iSubmit()"><BR> </FORM> submitの場合、単純に&BODY=としただけでは本文に指定出来ず困っています。 出来れば、本文に書きこまれる "mailtext="の部分も削除したいのですが、良いアイデアはないでしょうか? <A HREF="mailto:~">で出来ないかと思ったのですが、その場合ユーザが書きこんだデータを取って来れない様な気がするので、挫折しました。 自分なりに調べたのですが、わかりません。どなたか宜しくお願い致します。

  • CGI/perlのエラー

    CGIのテストをしています。 サーバーはUbuntu14.04 htmlで <html> <head><title>HTMLサンプル</title></head> <body> ボタンサンプル<br> <form action="cgi-bin/test.cgi" method="post"> <button type="button">ボタン</button><br> <input type="submit" value="送信"> </form> </body> </html> test.cgi #!/usr/bin/perl system = ("date >> webwrite""); 実行すると End of script output befor heads: test.cgi のエラーで止まってしまいます。 ファイル webwriteは作成されています。 何か、終了処理が必要なもでしょうか?

  • 1つのsubmitボタンで2つのCGIを呼び出すことは可能ですか?

    今は、htmlで <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> </head> <body> <form action="abc.cgi" method="get"> 以下省略 <input type="submit" value="送信"> </form> <form action="xyz.cgi" method="get"> 以下省略 <input type="submit" value="受信"> </form> </body> </html> という感じで書き、2つのボタンで個々に2つのCGIを呼び出していますが、 これをメールの送受信のように、1つのボタンで2つのCGIを呼び出すことは可能なのでしょうか。 教えてください。お願いいたします。

    • ベストアンサー
    • CGI
  • JavaScriptでメールフォーム

    サイトでメールフォームをCGIを使わずに、JavaScriptで作成した時の話なのですが、 例えば、 <form name="mail" action="mailto:aaa@bbb.com" method="post" enctype="text/plain"> 名前<br> <input name="name"><br> 送信内容<br> <textarea style="WIDTH: 164px; HEIGHT: 50px" name="body"></textarea><br> <input style="WIDTH: 74px; HEIGHT: 21px" type="submit" size="37" value="送信"></form> ↑のような一般型のフォームは出来るのですが、 メールの送信先をメール送信者に指定させてそのアドレスにメールを送信するようにするにはどうしたら良いのでしょうか? すみませんが御願いします・・・

  • CGIによるアンケートフォームのメール送信

    私は今までHTMLでアンケートフォームを作成していました。しかし、HTMLで次のコードを組み込むとメール送信時に警告が出てしまいました。 <form action="mailto:○○○@△△△.co.jp"> そこで、いろいろなアンケートフォームのソースを見てみるとCGIが使われているようでした。 CGIはまったくの初心者です。 CGIでのアンケートフォームの作り方を教えてください。

    • ベストアンサー
    • CGI
  • CGI間のデータ送信について(perl)

    perlのcgiで詰まってしまったので質問します。 現在困っていることは、cgiからcgiへの変数の値の受け渡しについてです。 色々調べてやってみたのですが、うまくいきません。 送信側で print "<form action = \"sendmail.cgi\" method=\"post\">"; print "<A href =\"sendmail.cgi?$array1[0]&$array1[1]&$array1[2]&$array1[3]\">sendmail.cgi</A>"; print "<input type=\"submit\" value=\" ボタンです。 \">"; print "</form>"; として 受信側で # postでもgetでも受信できるようにする if ($ENV{'REQUEST_METHOD'} eq "GET") { $data = '1'; $testmsg = "GETで受信"; $formdata = $ENV{'QUERY_STRING'}; print("$formdata<BR>"); } elsif ($ENV{'REQUEST_METHOD'} eq "POST"){ # こちらを使用している $data = '2'; $testmsg = "POSTで受信"; $length = $ENV{'CONTENT_LENGTH'}; read(STDIN,$formdata,$ENV{'CONTENT_LENGTH'});# $dataに受信する print("$formdata<BR>"); } else { $data = '3'; $testmsg = "受信することができませんでした。<BR>"; } としてpostにて受信しようとしています。 postのif文には入ったようなのですが、データが空っぽで何も入っていないようなのです。 何が原因なのでしょうか?助けてほしいです。

    • 締切済み
    • CGI
  • ホームページビルダーのメールフォームで送信が出来ません。

    ホームページビルダー10を使っています。メールフォームを作成し、ブラウザから開いて送信ボタンをテストで押してみたのですが、全く送信されません。 アドレスを変えたり等、色々行いましたが、駄目です。 どうすればよいでしょうか? HTMLタグを見ると、 <FORM METHOD=post ACTION="mailto:xx@yyy" ENCTYPE="text/plain"> とあり、xx@yyyの部分に自分のメールアドレスを入れています。 CGIについては全く知識がなく、どう直せばよいのかがわかりません。 お詳しい方、どうぞお教えください! ご返答お待ちしております。 かれこれ3日も悩み続けております…

専門家に質問してみよう