Perl メール フォーム
ホームページのメールフォームについて教えてください。
現在ホームページで、お問い合わせページを作っている最中です。
そこで、現在下記のコードまでできております。
#!/usr/bin/perl -w
use Encode qw(from_to encode);
use Net::SMTP;
use strict;
use warnings;
use Encode;
use CGI;
my $p = new CGI;
#メールアドレス設定
my $from = 'aaaa@aaaaa.jp;
my $mailto= 'aaaa@aaaaa.jp;
my $mailcc= 'aaaa@aaaaa.jp;
#サブジェクト設定
my $subject = 'ホームページからのお問い合わせ';
from_to($subject, 'shiftjis', 'iso-2022-jp');
encode('MIME-Header-ISO_2022_JP', $subject);
#メールヘッダー設定
my $header = << "MAILHEADER";
From: $from
To: $mailto
CC: $mailcc
Subject: $subject
Mime-Version: 1.0
Content-Type: text/plain; charset = 'ISO-2022-JP"
Content-Trensfer-Encoding: 7bit
MAILHEADER
#メール本体設定
my $message = "a";
#my $subject = $p->param('subject');
#文字コードをJISに変換
from_to($message, 'shiftjis', 'iso-2022-jp');
#メール送信オブジェクト設定
my $smtp = Net::SMTP->new('aaaaaaa.jp');
if ( !$smtp ) {
print "メールサーバーにアクセスできません!";
exit;
}
#メール送信
$smtp->mail($from);
$smtp->to($mailto);
$smtp->to($mailcc);
$smtp->data();
$smtp->datasend($header);
$smtp->datasend($message);
$smtp->dataend();
$smtp->quit;
これだと、ホームページのボタン等をクリックすると
メールは送られます。
差出人が'aaaa@aaaaa.jp
件名がホームページからのお問い合わせ
内容がa
です。
これは、コード内にこう書いているから必然的にこれがくるわけなのですが、
そうではなく、
ホームページでお問い合わせボタンがありそこに
<a href="http://aaaaaa.jp/cgi/mailform.pl"><img src="img/share/mail.gif" width="100" height="50" alt=""></a>
mailform.plもしくはmeilform.htmlを表示させ下記のコードで表示されるページにアクセスし
#!/usr/bin/perl
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>メールフォーム</title>
</head>
<body>
<h1 class="title">メールフォーム</h1>
<form method="post" action="mail.pl">
<input type="hidden" name="a" value="exec">
件名(Subject) :<br />
<input type="text" name="subject" size="80" value=""><br />
宛先(To) :<br />
<input type="text" name="to" size="80" value=""><br />
差出人(From) :<br />
<input type="text" name="from" size="80" value=""><br />
本文(Body) :<br />
<textarea name="body" rows="10" cols="65"></textarea><br />
<p>
<input type="submit" value="送信">
</p>
</form>
</body>
</html>
ここで
差出人、件名、内容を入力し、送信のボタンを押すと
my $subject = 'ホームページからのお問い合わせ';
my $message = "a";
my $from = 'aaaa@aaaaa.jp;
この3つをmailform.plもしくはmailperl.htmlで
入力した内容で送信をしたいのですが、
これのやり方を教えてほしいです。。。
当方ホームページ作りも初心者で、Perlも最近はじめたとこでまだ理解できていないとこも
多いため説明がわかりにくいかもしれません・・・
その時は、ご指摘ください;;
また、業者に頼むことは考えておりません・・・
参考書やいろいろネットサーフィンしてみたのですが、上手くできません
どうかお力添えをお願い致します!
お礼
superside0 さん 回答有り難うございます。 はい、本番ではhttp://~となっております。 省略しております。 ややこしくてすみません。