のフリー、シェアCGI・PHPスクリプト・JavaScriptをキーワード、97のカテゴリーから検索できます。スクリプトの登録ご利用は一切無料です。


フリー、シェアCGI・PHPスクリプトをキーワード、96のカテゴリーから検索できます。

 スクリプトをお探しなら当サイトでOK

  •  フリー、シェアのCGI・PHPスクリプトをメインに検索。
  •  ランキングによる評価で人気のスクリプトを紹介。
  •  サンプル(ページ)によるダウンロード前の事前評価。
  •  お気に入りスクリプトへのパーソナルリンクの作成。

 スクリプト登録のメリット

  •  シェアスクリプトでも、掲載は一切無料。
  •  細かなカテゴリー(全97項目)で閲覧者に分かり易く分類。
  •  スクリプトを印象づけるサンプル(ページ)の登録が可能。
  •  ダウンロードランキングの実施による人気度の評価。

当サイトはQ&A掲示板(コミュニティ)の窓口を共有して下さるサイト様を募集しています。

[Q&A掲示板] 共有サイト様募集!

メールの送信


メールの送信を行うためには、使用するサーバーに"SEND MAIL"が実装されていることが必要条件になります。
また、"SEND MAIL"のパスはサーバーごとに異なりますので、ご利用になっているサーバーへお問い合わせください。

#!/usr/bin/perl

# SENDMAILのパス
$SENDMAIL = '/usr/sbin/sendmail';

# 送信元
$FROMMAIL = 'test@perl-tips.ne.jp';

# 送信先
$TOMAIL = 'xxx@yyy.zzz';


# メール作成
open(SENDMAIL, "| $SENDMAIL -t -i");
# タイトルの決定
$title = &Base64('テストメール');
# メールの内容を記述
print SENDMAIL <<E_O_M;
To: $TOMAIL
From: $FROMMAIL
Subject: $title
Content-type: text/plain; charset=iso-2022-jp

テストメールを送信しました。
E_O_M
# メール送信
close(SENDMAIL);

print "Content-type: text/html\n\n";
print "メールを送信しました。";


# BASE64変換
sub Base64 {
	my $sub = $_[0];
	$sub =~ s/\x1b\x28\x42/\x1b\x28\x4a/g;
	$sub = "=?iso-2022-jp?B?".&Base64En($sub)."?=";
	return($sub);
}
sub Base64En {
	local $ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
	local($x,$y,$z,$i);
	$x = unpack("B*", $_[0]);
	for( $i = 0; $y = substr($x, $i, 6); $i += 6 ) {
		$z .= substr($ch, ord(pack("B*", "00".$y)), 1);
		if(length($y) == 2) {
			$z .= "==";
		} elsif(length($y) == 4) {
			$z .= "=";
		}
	}
	return($z);
}

メールを送信するには、SENDMAILをopenで起動させ、そしてそこへ内容を出力するだけの単純な処理となっています。
メールヘッダ部で指定する送信先や送信元を有効にするために、"SEND MAIL"は -t オプションをつけて起動します。
-i オプションは、通常、メールの最後を示す "."(ピリオド)を無効化し、ピリオドのみの行も送れるようにします。

タイトルはbitの問題から文字化けが起きてしまいます。
ですので、タイトルは、メール本文とは別の文字コードを使用します。
それがこのスクリプト後半で定義されている"BASE64"です。
BASE64への変換処理は複雑なため、ここでは説明しませんが、必要な処理なのでそのままコピーして使ってください。

メールを送信するためには、ヘッダーを指定する必要があります。
ここで使用しているヘッダーについて説明しておきます。

To:
  メールの送信先のアドレスです。
From:
  メールの送信元のアドレスです。
Subject:
  メールのタイトルです。BASE64に変換済みのタイトルを記入します。
Content-type: text/plain; charset=iso-2022-jp
  メールの形式を"テキスト"にし、さらに文字コードは"JIS"と定義しています。

ヘッダーと本部の間には必ず改行のみの行を設けます。
つまり、ヘッダー部分には改行のみの行を作ってはいけません。

scriptEYE