[Open]の検索結果


Firebirdは、Borland Software社のInterBaseから派生したオープンソースの軽量、高機能データベースソフト。

Firebird日本ユーザー会
Firebirdのダウンロード、日本語マニュアル、メーリングリストなど。

Firebird, (さらに)もうひとつのオープンソースDB
Ann Harrison による Firebird (yet) another Open Source Database へのリンクと日本語訳。

Firebird 関連書籍
[195] Posted by kagahiro at 2005/04/01 02:39:22
3 point | Link (1) | Trackback (3) | Comment (0)

オンラインショップの商品が注文された際に顧客に注文内容の確認メールを送信したり、掲示板にコメントが書き込まれた際に管理人宛てに通知メールを送信したりするには、フォームで入力された項目の内容をCGIからメールとして送信する必要が あります。

一般的なレンタルサーバーでCGIからメールを送信する場合の基本的な処理手順は次のようになります。

1.フォームから入力された各項目の値をパラメータから取得
2.subject(件名)をMIME-Base64形式に変換
3.メッセージを作成
4.メール送信する文字列の文字コードをJISに変換
5.sendmailを使用してメールを送信

下記のCGIスクリプト(UTF-8)はレンタルサーバー等で利用可能なsendmailを使用してフォームから入力された、Subject、宛先メールアドレス、差出人、本文を使用してメールを送信するサンプルプログラムです。


--- mailform.html (入力フォーム) ---
<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="sendmail.cgi">
<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>

--- sendmail.cgi (メール送信CGI) ---
#!/usr/bin/perl
use strict;
use warnings;

use CGI;
use Encode;

my $cgi = CGI->new();

# パラメータからフォームの入力値を取得
my $subject = $cgi->param('subject');
my $to = $cgi->param('to');
my $from = $cgi->param('from');
my $body = $cgi->param('body');

# subject(件名)をMIME-Base64形式に変換
$subject = Encode::encode('MIME-Header-ISO_2022_JP', $subject);

# メッセージを作成
my $message = <<"END_MESSAGE";
From: $from
To: $to
Subject: $subject
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

$body
END_MESSAGE

# メール送信する文字列の文字コードをJISに変換
Encode::from_to($message, 'utf8', '7bit-jis');

# sendmailを使用してメールを送信
my $sendmail_path = '/usr/sbin/sendmail';  # sendmail path
open my $mailh, "| $sendmail_path -t -oi $to";
print {$mailh} $message;
close $mailh;

# 送信終了を表示
my $html = <<"END_HTML";
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>送信終了</title>
</head>
<body>
<p><big>送信終了</strong></big></p>
</body>
</html>
END_HTML
print "Content-Type: text/html\n\n", $html;

なお、フォームからのパラメータの受け取りにはCGIモジュールを、メール本文の文字コードの変換やsubject(件名)のMIME-Base64形式への変換にはPerl 5.8以降では標準モジュールなっているEncodeモジュールを使用しています。

また、このサンプルでは、処理手順をわかりやすくするために、入力チェックなどの実際に運用する場合に必要な 処理を行ってませんが、入力チェック処理も含まれたより実用的なシンプルな メールフォームCGIの無料配布(ライセンスはGPL)も行っていますので、よろしければご活用ください。

[147] Posted by kagahiro at 2005/03/31 01:12:52
0 point | Link (14) | Trackback (0) | Comment (0)

|< 先頭へ  < 前へ  2 3 4 5 6  


アクセスランキング

今日のアクセスランキング TOP 10

  1. 完全無料のMT4向けナンピンEA「Nanpin K(ナンピンケイ)」 (8 PV)
  2. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (7 PV)
  3. Google News (グーグルニュース)日本版 (4 PV)
  4. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (3 PV)
  5. DECOLOG(デコログ) (2 PV)
  6. [将棋]ユーチューバーのクロノさんが将棋ウォーズ運営からアカウント停止の警告を受ける #ソフト指し #複垢 #アカBAN (2 PV)
  7. 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 (2 PV)
  8. 「Repeat K」高値安値の中間レートを基準に逆張りポジションを持つMT4向けリピート系(ナンピン)無料EA #自動売買 (2 PV)
  9. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(EA)「PositionKeeper MT5」 #FX (2 PV)
  10. 日経平均株価(にっけいへいきんかぶか) (2 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (863 PV)
  2. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (171 PV)
  3. 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (110 PV)
  4. 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (80 PV)
  5. 完全無料のMT4向けナンピンEA「Nanpin K(ナンピンケイ)」 (71 PV)
  6. [FX]高値更新・安値更新でエントリー、MT4向け無料スキャルピングEA「1Scalper」#システムトレード (65 PV)
  7. Google News (グーグルニュース)日本版 (60 PV)
  8. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (59 PV)
  9. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(EA)「PositionKeeper MT5」 #FX (53 PV)
  10. [Perl]メールフォームCGIの作り方 (51 PV)

アクセス統計

ディレクトリ

関連サイト