⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mail-utils.lib

📁 Perl写的CA认证程序
💻 LIB
字号:
## RA Server Management Utility ## (c) 1999 by Massimiliano Pala## All Rights Reserved#### Project Information:#### 	Current Version ..................... $VER##      Project Started on .................. 17/12/1998##      Last Modified on .................... 09/09/2000##      Project Closed on ................... n/a#### Program currently tested with OpenLDAP v.1.2 on Linux, Solaris## and Sleepycat DB.#### DISC CLAIMER: THIS SOFTWARE IS GIVEN AS IS WITHOUT ANY WARRANTIES## ABOUT ANY DAMAGE DERIVED BY THE USE ( CORRECT OR NOT ) OF THIS## SOFTWARE. THE AUTHOR IS THEREFORE NOT RESPONSABLE IN ANY WAY OF## DAMAGES RELATED IN ANY WAY TO THIS OR SUPPORTED SOFTWARE AS WELL.#### If you want to contact me (the author) please use the e-mail## addresses listed below. Do not esitate in reporting bugs, enhancement## or anything seems useful in developing this software:####	madwolf@comune.modena.it##	m.pala@mo.nettuno.it##	digid@netscape.net##sub warnUsers {	my @keys = @_;        my ( $filename, $serverDir, $ID, $mail, $user, 	     $tmp ); 	$serverDir = $keys[0];	return unless $serverDir;	$filename = "$serverDir/stuff/lastImport.txt";	## Let's open the stuff/lastImport.txt	if( not -e "$filename" ) {		configError( "File $filename not found!");	}	$tmp = $query->getFile( "$filename");	if( $tmp eq "" ) {		success( "Last Import file was empty.");	}	my @certsList = split( "\n", $tmp );		foreach $ID ( @certsList ) {		my $user, $userCert, $serID;		( $serID ) = ( $ID =~ /([a-f0-9]+)/i );		## Let's be sure it is in the right format		$serID = uc( $serID );		$serID = "0$serID" if( length($serID) % 2 );                print "Sending Mail [$serID] : <B>Certificate Serial " .		      "$serID (0x0" . hex( $serID ) . ")</B><BR>";		my $cert = $db->getItem ( DATATYPE => VALID_CERTIFICATE,                                 KEY => $serID );		if( not $cert ) {			print "<FONT COLOR=\"Red\">";                	print "Sending Mail [$serID] : can't get certificate" .			      " from dB!<BR><BR>\n";			print "</FONT>";			next;		}                $userCert = $cert->getParsed();                 print "Sending Mail [" . $userCert->{SERIAL} . "] : " .		       $userCert->{CN};                print " ( " . $userCert->{EMAIL} . " )<BR>\n";		if( $userCert->{EMAIL} !~ /.*?\@.*?/ ) {			print "<FONT COLOR=\"Red\">";                	print "Sending Mail [$serID] : non valid e-mail" .			      " address!";			print "</FONT><BR><BR>\n";			next;		}                if( sendMail( $userCert->{EMAIL}, $userCert->{SERIAL},					   $userCert->{CN} ) ne "Success") {			print "<FONT COLOR=\"Red\">";			print "Sending Mail [$serID] : Can't Send Mail ( $! )";			print "</FONT><BR><BR>\n";			next;                };				print "Sending Mail [" . $userCert->{SERIAL} . "] : " .		      "<B>Mail sent succesfully</B>.<BR><BR>\n";	}}sub sendMail {        my @keys = @_;        my $line, $mailTo, $serialID;        my $txt = ""; 	my $mailTo   = $keys[0];	my $serialID = $keys[1];        my $user     = $keys[2];	my $DEBUG    = 0;        if( ("$mailTo" eq "") || ("$serialID" eq "") || ("$user" eq "") ) {               configError("Error Sending Mail 434");               exit 95; 	};	my $mailCommand = ($config->getParam('mailcommand'))->{VALUES}->[0];	my $mailSenderName = 	         ($config->getParam('mailsendername'))->{VALUES}->[0];	my $mailSenderAddress = 	         ($config->getParam('mailsenderaddress'))->{VALUES}->[0];	my $baseMailFile = ($config->getParam('basemailfile'))->{VALUES}->[0];	if( not ( $txt = $query->getFile( "$baseMailFile" ))) {               configError ("Can not open baseMailFile ($baseMailFile)!");	}        $txt = $query->subVar( $txt, '@SERIAL@', $serialID );        $txt = $query->subVar( $txt, '@USER@', $user );        $txt = $query->subVar( $txt, '@EMAIL@', $mailTo ); if( not $DEBUG ) {        open( FD, "| $mailCommand >/dev/null" ) || return;        print FD "From: $mailSenderName \n";        print FD "To: $user <$mailTo>\n";        print FD "Subject: New Issued Certificate (Serial: $serialID)";        print FD "\n";        print FD "$txt";        print FD "\n";	print FD "=====================================================\n";	print FD "Message generated by OpenCA (RAManager) -V.  $VER\n";	print FD "(c) 1998 by Massimiliano Pala and the OpenCA Team.\n";	print FD "=====================================================\n";	print FD "\n.\n";        close(FD);} else {	## Debug Version        ## print "<PRE>:::> $mailCommand >/dev/null";        ## print ":::> From: $mailSenderName \n";        ## print ":::> To: $user <$mailTo>\n";        ## print ":::> Subject: New Issued Certificate (Serial: $serialID)";        ## print ":::> \n";        ## print ":::> ...";        ## print ":::> \n";	## print ":::> =====================================================\n";	## print ":::> Message generated by OpenCA (RAManager) -V.  $VER\n";	## print ":::> (c) 1998 by Massimiliano Pala and the OpenCA Team.\n";	## print ":::> =====================================================\n";	## print "\n.\n</PRE>";}        if( $? == 0 ) {                return "Success";        } else {                return "$!";        }}1;___END___;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -