[rank:a]の検索結果


オンラインショップの商品が注文された際に顧客に注文内容の確認メールを送信したり、掲示板にコメントが書き込まれた際に管理人宛てに通知メールを送信したりするには、フォームで入力された項目の内容を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)

欧州連合(EU)の通貨であるユーロ(EUR)と米国の通貨であるドル(USD)の通貨ペア「ユーロドル(EUR/USD」の最新チャート。

ユーロドル最新チャート

ユーロドル相場の特徴

  • 欧州タイム開始前後(サマータイムの場合、日本時間の16:00前後)に相場が動くことが多い。
  • ロンドンフィクス(LDNFIX、サマータイムの場合、日本時間の0:00前後)にかけて相場が大きく動くことがある。
  • ECB(欧州中央銀行)金融政策によって大きく相場が動く。
  • EU諸国の政局不安や独立問題などでも相場が動くことがある。

[2916] Posted by kagahiro at 2018/06/21 16:25:07
2 point | Link (5) | Trackback (0) | Comment (2)

Perl(パール)とは、Larry Wall氏によって開発された、テキストの検索や抽出やレポート作成に適した、C言語に似た表記法のスクリプトプログラミング言語で、テキスト処理に優れていることから、CGIとしてWebアプリケーションの作成に使用されることが多い。

Perlに関する主なサイト

Japanized Perl Resources Project
Perlの日本語リソースの収集と文書を日本語訳するプロジェクト。perldoc.jp

CPAN.jp
perl日本語ドキュメント全文検索。

Tokyo Perl Mongers
東京地区のPerlユーザーのコミュニティー(メーリングリスト)。

Jcodeを使おう(実用本位のJcode紹介)
文字コード判別、変換のための日本語文字コード用汎用モジュール、Jcode.pmの解説。

futomi's CGI Cafe
PerlスクリプトのCGIを作成する際に役立つ情報を掲載。

Perlリファレンス
Perlのリファレンスを掲載しているサイト。

ActiveState
Windows上で動作するフリーのPerlパッケージ「Active Perl」を配布しているサイト(英語)。

Perl 書籍
Perlの入門書や解説書。

Perlベストプラクティス
著者:Damian Conway
価格:4,515円
オライリー・ジャパン

by Amalink
[129] Posted by kagahiro at 2005/05/10 06:44:08
6 point | Link (16) | Trackback (0) | Comment (6)

米国のトランプ大統領が人類史上初めてとなる米朝首脳会談を当初の予定通り6月12日にシンガポールで開催すると発表した。米朝首脳会談ついては北朝鮮側の対応が気に入らないとして、一旦米国トランプ大統領が書簡で...
[2908] Posted by kagahiro at 2018/06/02 18:00:35
0 point | Link (2) | Trackback (0) | Comment (0)

MySQLでは、INSERT ... SELECTを使用することで1つまたは複数のテーブルからレコードをテーブルに追加できます。また、SELECTでLIMIT句とORDER BYを使用して上位n件のレコードのみテーブルに追加することもできます。...
[2591] Posted by kagahiro at 2016/09/30 15:29:37
1 point | Link (3) | Trackback (1) | Comment (0)

これまでインターネットエクスプローラー(IE)とsafariでのみ利用可能だったPCブラウザ版将棋ウォーズが、chrome、Firefox、edgeなどのブラウザにも対応した。(※IE/safariでは旧ブラウザ版の利用も可能)これまでは...
[2866] Posted by kagahiro at 2017/12/01 20:21:27
2 point | Link (4) | Trackback (0) | Comment (2)

SQLiteでは、AccessやMicrosoft SQL ServerのようにTOP句を使用して上位n件のデータを取得することはできません。SQLiteのSELECT文で上位n件のデータを取得する場合はLIMIT句を使用します。構文:SELECT カラム名, ....
[2542] Posted by kagahiro at 2016/04/30 16:43:14
1 point | Link (3) | Trackback (1) | Comment (0)

英国の通貨であるポンド(GBP)と米国の通貨であるドル(USD)の通貨ペア「ポンドドル(GBP/USD」の最新チャート。new TradingView.widget({ "width": 640, "height": 400, "symbol": "FX:GBPUSD", "interval": ...
[2917] Posted by kagahiro at 2018/06/21 16:30:32
4 point | Link (5) | Trackback (0) | Comment (4)

6月14日からロシアでサッカーFIFAワールドカップロシア大会が開幕する。日本代表チームも出場し、代表メンバーには本田圭佑、香川真司、長友佑都など海外で活躍する選手が選ばれている。開幕戦は、開催国のロシア...
[2910] Posted by kagahiro at 2018/06/14 17:07:27
4 point | Link (1) | Trackback (0) | Comment (1)

MySQLでは、UPDATEでLIMIT句とORDER BYを使用して上位n件のレコードを更新することができます。更新前にORDER BYで指定した方法で並べ替えられ(ASCは昇順、DESCは降順、省略した場合は昇順)、LIMIT句で指定した行数...
[2590] Posted by kagahiro at 2016/09/30 11:43:12
1 point | Link (3) | Trackback (1) | Comment (0)

|< 先頭へ  < 前へ  1 2 3 4 5  次へ >


アクセスランキング

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (134 PV)
  2. Google News (グーグルニュース)日本版 (41 PV)
  3. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (10 PV)
  4. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (10 PV)
  5. [将棋]第76期名人戦は佐藤天彦名人が4勝2敗で羽生善治竜王(永世7冠)を下しタイトル防衛 (9 PV)
  6. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (9 PV)
  7. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (9 PV)
  8. Airbnb(エアビーアンドビー)、「民泊新法」施行後も違法物件を掲載 (9 PV)
  9. グーグルニュース(Google News)日本版が表示できるURL (8 PV)
  10. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (7 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2594 PV)
  2. Google News (グーグルニュース)日本版 (794 PV)
  3. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (399 PV)
  4. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (398 PV)
  5. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (392 PV)
  6. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (224 PV)
  7. グーグルニュース(Google News)日本版が表示できるURL (174 PV)
  8. ウェブページを1回だけリロード(再表示)する方法 (160 PV)
  9. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (159 PV)
  10. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (151 PV)

アクセス統計

ディレクトリ

関連サイト