$to_email = 'luke@localhost';
// tell gpg where to find the key ring
// on this system, user nobody's home directory is /tmp/
putenv('gnupghome=/tmp/.gnupg');
//create a unique file name
$infile = tempnam('', 'pgp');
$outfile = $infile.'.asc';
//write the user's text to the file
$fp = fopen($infile, 'w');
fwrite($fp, $body);
fclose($fp);
//set up our command
$command = "/usr/local/bin/gpg -a \
--recipient 'luke welling ' \
--encrypt -o $outfile $infile";
// execute our gpg command
system($command, $result);
//delete the unencrypted temp file
unlink($infile);
if($result==0)
{
$fp = fopen($outfile, 'r');
if(!$fp||filesize ($outfile)==0)
{
$result = -1;
}
else
{
//read the encrypted file
$contents = fread ($fp, filesize ($outfile));
//delete the encrypted temp file
unlink($outfile);
mail($to_email, $title, $contents, "from: $from ");
echo '
message sent
your message was encrypted and sent.
thank you.';
}
}
if($result!=0)
{
echo '
error:
your message could not be encrypted, so has not been sent.
sorry.';
}