Perl初心者です。
メールフォームのサンプルを調べていたのですが、
ほとんどがSendmailやJcodeでのサンプルしか検索結果がでてきませんでした。
当サーバーは両方とも使えないとのこと・・・
求めているのは、SMTPとCGI.pmとEncodeあたりをメインに作るメールフォームなのですが、
なかなかありません。
そこで、どなたか私に
そのようなサンプルが載っているサイト
もしくは、
メールフォームで
ホームページ→メールフォーム開く→入力→確認画面→送信→自動返信
と簡単なコードをご提示をお願いしたいです。
一応現在出来ているコードを貼っておきます。(途中です)
現在実行できるのが、ホームページ→定型文送信までです
#!/usr/bin/perl -w
use Encode qw(from_to encode);
use Net::SMTP;
use strict;
#メールアドレス設定
my $from = ’aaa@aaaaa.jp';
my $mailto= 'bbb@bbbbb.jp';
my $mailcc= 'ccc@ccccc.jp';
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><title>メールフォーム</title></head>
<body style="text-align:center">
<table style="width:80%;border:1px solid #f93">
<tr><th style="padding:5px;background:#fc9">メールフォーム</th></tr>
<tr>
<td style="padding:20px">
END
#サブジェクト設定
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 = "テスト";
#文字コードをJISに変換
from_to($message, 'shiftjis', 'iso-2022-jp');
#メール送信オブジェクト設定
my $smtp = Net::SMTP->new('abcdefg.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;
No.1ベストアンサー
- 回答日時:
なにか大きな誤解をしている。
>ほとんどがSendmailやJcodeでのサンプルしか検索結果がでてきませんでした。
この二つは、まったく異なるものです。
CGI(Common Gateway Interface)は、サーバーで動作するプログラムで、Perlを使おうがCを使おうが、AWKだろうがなんでもよい。とりあえずPerlを使ってCGIを作成する。
ところが、mailを送信するとなると、MTA(Mail Transfer Agent)にデータを渡して、送信してもらわなくてはなりない。sendmail や qmail がそれにあたります。
メール転送エージェント - Wikipedia( https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%BC … )
これらが使えない場合は、Perl自体にMTAの動作をさせるのが、Net:SMTP モジュールですよ。また、Jcodeは、現在のPerlには組み込み済みなので、使えるはず。
使えない古いPerlなら、jcode.plで代用させる。その場合、Net::SMTPも使えないのじゃないかと・・
モジュールを調べるコードを書いてみたら??
返事が遅くなり申し訳ないです。
moduleを調べてみました。
Jcode.pmありました。
まだまだ理解できないいないことが多いですね・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Exchangeを使用したメール送信...
-
C#のメール送信時のエラーについて
-
VBAでoutlook365が起動しません。
-
例外処理のフローチャートの記...
-
エクセルVBAでシートモジュール...
-
Excel VBAで、ユーザーフォーム...
-
VBAで別モジュールへの変数の受...
-
グラフのX,Y座標を取得したい
-
Cからシェルを起動し返り値をハ...
-
VBAで旧字体を異字体に一括で変...
-
acwzlibとは?
-
Perl モジュールのアンインスト...
-
ユーザー定義関数に#NAME?が返...
-
ExcelVBA AddinでOnAction
-
YAMLについて
-
VBSがコンパイルエラーになりま...
-
VBA ユーザーフォーム Image1 ...
-
CPANモジュール取得におけるmak...
-
LCD ディスプレイを Raspberry ...
-
【vba】フォームに書いてあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでoutlook365が起動しません。
-
VBAでsmtp認証をするには?
-
Net::SMTPでメールを送信したい...
-
VBScriptで、メールの送信をし...
-
CDO.Messageを使ったVBScript
-
Perl メール 文字化け
-
さくらインターネットでの添付...
-
Enterキーを押しても送信しない...
-
メーリングリストへ登録するCGI
-
perl 自動返信メールプログラム...
-
空メールシステムについて
-
C#のメール送信時のエラーについて
-
ウィンドウズ上で動くメールサ...
-
LotusScript メール作成方法が...
-
リンクをクリックするだけでC...
-
javamailでメール送信ができません
-
添付ファイルをつけてメールを送る
-
server errorで困ってます。
-
フォームメールを外人に送る方...
-
自作CGI(メールフォーム)の...
おすすめ情報