[sendmail]の検索結果


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

[2178] Posted by kagahiro at 2010/08/05 14:39:39
2 point | Link (7) | Trackback (0) | Comment (2)

掲示板CGIは、ホームページに簡易掲示板を設置するためのシンプルな無料のPerlスクリプト(CGI)です。新規スレッドやコメントの投稿は誰でも可能ですが、スレッドやコメントの削除は管理者のみ可能(管理者パスワードが必要)になっています。高機能掲示板ソフト「59bbs」と比較すると機能は少ないですが、その分カスタマイズは容易になっています。

ライセンスはオープンソースライセンス(GPLv2)ですので無料で自由にカスタマイズして利用できます。

ホームページへの掲示板CGIの追加は、CGIが利用できるサーバーであれば、次のような手順で簡単にできます。

1. bbscgi.cgi の先頭の以下の部分をサーバーなどの利用環境にあわせて変更します。
my $site_title = '掲示板CGI'; # Site title
my $webmaster_email = 'support@59bbs.org'; # Webmaster's E-mail address
my $sendmail_path = '/usr/sbin/sendmail'; # sendmail path
my $admin_password = 'YourPass'; # Admin password
my $data_dir = 'data'; # Data directory
my $line_number = 10; # Number of list lines
my $anonymous = '名無しさん'; # Anonymous


2. 以下のファイルをサーバーにFTPソフトなどを使用して転送(アスキーモード)します。(tmpl、dataはディレクトリごと転送してください。)
bbscgi.cgi
bbscgi.css
tmpl/list.tmpl
tmpl/thread.tmpl
tmpl/new.tmpl
tmpl/delete.tmpl
tmpl/remove.tmpl
data/threadid.data
data/log

3. bbscgi.cgiに実行可能なパーミッション(サーバーによって異なります)を設定します。

掲示板CGIは、比較的シンプルなPerlスクリプトですので以上のように設置は簡単ですが、HTMLやPerlスクリプトの変更が難しいという方向けに有料(税込4,200円)にてデザインのカスタマイズ(スクリプトの変更をともなわないHTMLファイルやスタイルシートの変更)、設置サポートも行います。有料サポートをご希望される場合は、support@59bbs.org 宛にメールにてご連絡ください。

掲示板CGIのデモページ
掲示板CGIのダウンロード

[1905] Posted by kagahiro at 2010/06/02 00:22:35
0 point | Link (6) | Trackback (0) | Comment (0)

ブックマークCGIは、コメント可能な公開ブックマークをホームページに追加することができるPerlスクリプトです。 ブックマークレットを使用してブラウザで開いているWebページを簡単にブックマークできます。ブックーマークの 登録や編集、削除は管理者のみ可能(管理者パスワードが必要)になっています。

オープンソースライセンス(GPL)ですので無料で自由にカスタマイズして利用できます。

ホームページへのブックマークCGIの追加は、次のような手順で簡単にできます。

1.bookmark.cgi の先頭の以下の部分をサーバーなどの利用環境にあわせて変更します。
my $site_title = 'ブックマークCGI'; # Site title
my $site_url = 'http://59log.com/bookmark'; # Site URL
my $webmaster_email = 'webmaster@59log.com'; # Webmaster's E-mail address
my $sendmail_path = '/usr/sbin/sendmail'; # sendmail path
my $admin_name = 'YourName'; # Your name
my $admin_password = 'YourPass'; # Your password
my $data_dir = 'data'; # Data directory
my $line_number = 10; # Number of list lines
my $allow_comment = 1; # Allow comment setting 0:deny 1:allow

2.以下のファイルをサーバーにFTPソフトなどを使用して転送します。
bookmark.cgi
bookmark.css
error.html
tmpl/bookmark.tmpl
tmpl/bookmarklet.tmpl
tmpl/delete.tmpl
tmpl/edit.tmpl
tmpl/list.tmpl
tmpl/remove.tmpl
data/bookmarkid.data
data/log

3.bookmark.cgiに実行可能なパーミッション(サーバーによって異なります)を設定します。

ブックマークCGIは、比較的シンプルなPerlスクリプトですので以上のように設置は簡単ですが、 HTMLやPerlスクリプトの変更が難しいという方向けに有料(税込4,200円)にてデザインのカスタマイズ(スクリプト の変更をともなわないHTMLファイルやスタイルシートの変更)、設置サポートも行います。有料サポートをご希望され る場合は、デモページのフォームまたは webmaster@59log.com 宛にメールにてご連絡ください。

ブックマークCGIのデモページ
ブックマークCGIのダウンロード

[1863] Posted by kagahiro at 2010/05/20 00:26:35
0 point | Link (3) | Trackback (0) | Comment (0)

Q&A CGIは、ユーザーからの問い合わせをホームページ上で管理するための無料Perlスクリプトです。ユーザーが投稿した問い合わせはホームページ上で公開され、他のユーザーも閲覧可能ですが、問い合わせへの回答と削...
[1859] Posted by kagahiro at 2010/05/19 00:47:44
0 point | Link (2) | Trackback (0) | Comment (0)

Perlで書かれたメールフォームCGIをオープンソースライセンス(GPLv2)で公開しました。メールフォームCGIはWebページのフォームに入力された内容をメールで通知するスクリプトです。オープンソースライセンスですの...
[1856] Posted by kagahiro at 2010/05/18 00:32:18
0 point | Link (4) | Trackback (0) | Comment (0)

59bbs 1.2 の config.CGI で設定される各設定値の説明です。#!/usr/bin/perlperlのディレクトリを使用するサーバーの環境に合せて指定します。$system_dir = "../system";テンプレート、ユーザー一覧ファイル、トピッ...
[456] Posted by buzei at 2008/07/05 20:22:11
0 point | Link (4) | Trackback (0) | Comment (0)

59bbs 1.0 の config.cgi の各設定値の説明です。#!/usr/bin/perlperlのディレクトリを使用するサーバーの環境に合せて指定します。$system_dir = "../system";テンプレート、ユーザー一覧ファイル、トピックカウンタ...
[171] Posted by buzei at 2008/01/05 01:44:09
0 point | Link (1) | Trackback (0) | Comment (0)

  1  


アクセスランキング

今月のアクセスランキング(上位10件)

  1. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (81 PV)
  2. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (50 PV)
  3. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (28 PV)
  4. ホッシュジエンの国内ニュース解説 (21 PV)
  5. [Twitter]ツイッター検索のまとめ (21 PV)
  6. 2chまとめサイト(ブログ)検索 (20 PV)
  7. 自称「紀州のドンファン」和歌山の資産家「野崎幸助」氏が覚せい剤で不審死、警察は殺人容疑で捜査 (18 PV)
  8. 読売新聞「石井誠」記者変死事件 (18 PV)
  9. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (18 PV)
  10. 佐野研二郎氏の妻「実際にデザインを担当しているのは数人の部下。佐野は監修しただけ」パクリ疑惑を完全否定 (17 PV)

アクセス統計

ディレクトリ

関連サイト