%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/rappan/www/_cgi_mail/
Upload File :
Create Path :
Current File : /home/rappan/www/_cgi_mail/send.cgi

#!/usr/local/bin/perl

if($ENV{'QUERY_STRING'}){
	$config = 'commons/' . $ENV{'QUERY_STRING'} . '.cgi';
	if(!(-f $config)){
		$config = 'commons/config.cgi';
	}
	else {
		$form{'config'} = $ENV{'QUERY_STRING'};
		$load_config_flag = 1;
	}
}
else {
	$config = 'commons/config.cgi';
}

use CGI::Carp qw(fatalsToBrowser);
use Jcode;
require 'commons/functions.cgi';
require $config;

#POSTされたデータを取得
&getpost();

#Cookieの取得
*getCookieData = GetCookie();

if($form{'mode'} ne $null){
	$config = 'commons/' . $form{'config'} . '.cgi';
	if(-f $config){
		require $config;
	}
	if($form{'mode'} eq 'download' && $config{"password"} ne $form{'password'}){
		&downloadScreen();
	}
	elsif($form{'mode'} eq 'download' && $config{"password"} eq $form{'password'} && $config{"password"} ne $null && (-f $config{"log_file"})){
		&fileDownload();
	}
	elsif($form{'mode'} eq 'delete' && $config{"password"} ne $form{'password'}){
		&deleteScreen();
	}
	elsif($form{'mode'} eq 'delete' && $config{"password"} eq $form{'password'} && $config{"password"} ne $null && (-f $config{"log_file"})){
		&deleteComplate();
	}
	else {
		print "Content-type: text/html;charset=utf-8\n\n";
		print "ERROR CODE" . $error{"code"} . "<br>\n";
	}
}
else{
	#送信元ドメインのチェック
	&domaincheck();
	&confcheck();
	&spamcheck();
	&javascript_check();
	#mailform 用環境変数の定義
	if($error{"code"} == 0){
		&serials();
		&envMailform();
		&logfileCreate();
		my($ip_address) = $ENV{'REMOTE_ADDR'};
		my(@addr) = split(/\./, $ip_address);
		my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
		my($name, $aliases, $addrtype, $length, @addrs);
		($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
		$envs .= "\n\n\[ LOG DOWNLOAD \] " . $config{"url"} . "?mode=download\&config=".$form{'config'}."\n";
		$envs .= "\[ LOG DALETE \] " . $config{"url"} . "?mode=delete\&config=".$form{'config'}."\n";
		$envs .= "\[ HOST NAME \] " . $name . "\n";
		$envs .= "\[ IP ADDRESS \] " . $ENV{'REMOTE_ADDR'} . "\n";
		$envs .= "\[ USER AGENT \] " . $ENV{'HTTP_USER_AGENT'} . "\n";
		$envs .= "\[ HTTP REFERER \] " . $ENV{'HTTP_REFERER'} . "\n";
		if($config{"posted_body"} ne $null){
			$config{"body"} = $config{"posted_body"};
		}
		$config{"body"} .= $envs;
		$config{"body"} =~ s/<resbody>/$resbody/g;
		$config{"body"} =~ s/<date>/$form{'date'}/g;
		$config{"body"} =~ s/<serial>/$form{'serial'}/g;
		
		Jcode::convert(\$config{"subject"},'jis');
		#$config{"subject"} = Jcode::mime_encode([\$config{"subject"}]);
		Jcode::convert(\$config{"body"},'jis');
		if($form{'email'} eq $null){
			$form{'email'} = $mailto[0];
		}
		for($cnt=0;$cnt<@mailto;$cnt++){
			&sendmail($mailto[$cnt],$form{'email'},$config{"subject"},$config{"body"});
		}
		if($config{"return_subject"} ne $null && $config{"return_body"} ne $null && $form{'email'} ne $mailto[0]){
			$config{"return_body"} =~ s/<resbody>/$resbody/g;
			$config{"return_body"} =~ s/<date>/$form{'date'}/g;
			$config{"return_body"} =~ s/<serial>/$form{'serial'}/g;
			Jcode::convert(\$config{"return_body"},'jis');
			Jcode::convert(\$config{"return_subject"},'jis');
			#$config{"return_subject"} = Jcode::mime_encode([\$config{"return_subject"}]);
			&sendmail($form{'email'},$config{"mailform"},$config{"return_subject"},$config{"return_body"});
		}
		&refresh($config{"thanks_url"});
	}
	else{
		print "Content-type: text/html;charset=utf-8\n\n";
		print "ERROR CODE" . $error{"code"} . "<br>\n";
		print $error{"info"};
	}
}
exit;

Zerion Mini Shell 1.0