## OpenCA - RA Server Command
## (c) 1998-2001 by Massimiliano Pala and OpenCA Group
##
##   File Name: writeCertMail
##       Brief: write a mail
##     Version: $Revision: 1.3 $
## Description: write a mail preformatted by certsMail.txt
##  Parameters: key

sub cmdWriteCertMail {

	my $key = $query->param ('key');
	configError (gettext ("You must specify a certificate before you can use this function"))
		if (not $key);

	my $cert = $db->getItem ( DATATYPE => "CERTIFICATE", KEY => $key);
	configError (i18nGettext ("Cannot load certificate (__ERRNO__).", "__ERRNO__", $db->errno()).
                 "<br>\n".$db->errval())
		if (not $cert);

	## load http form
	my $page = $tools->getFile (getRequired ('writeMailForm'));
	configError (gettext ("Cannot load form for writing mail"))
		if (not $page);

	## load mail
	my $mail = $tools->getFile (getRequired ('basemailfile'));
	configError (gettext("Cannot load prepared mail"))
		if (not $mail);

	## fix mail
	$mail = $query->subVar ($mail, '@USER@', $cert->getParsed()->{DN_HASH}->{CN}[0]);
	$mail = $query->subVar ($mail, '@SERIAL@', $cert->getSerial());

	## put mail into form
	$page = $query->subVar ($page, '@EMAILADDRESS@', $cert->getParsed()->{EMAILADDRESS});
	$page = $query->subVar ($page, '@SUBJECT@',
                            i18nGettext (
                              "PKI Information for Certificate __CERT_SERIAL__",
                              "__CERT_SERIAL__", $cert->getSerial())
                           );
	$page = $query->subVar ($page, '@BODY@', $mail);

	## publish
	print $page;
}

1;

