#!/usr/bin/perl
# John Homer H Alvero
# Oct 24, 2008
use Mail::QmailQueue;
use Mail::DomainKeys::Message;
use Mail::DomainKeys::Key::Private;
$FinalString = <<EOS;
From: user\@domain.com
MIME-Version: 1.0
Subject: Hello World
To: target\@gmail.com
Test Email! This mail should have valid domain
keys.
EOS
open my $fh_message,
'<', \
$FinalString;
my $mail = load Mail::
DomainKeys::
Message(File =>
$fh_message) or die "unable to load message";
my $priv = load Mail::
DomainKeys::
Key::
Private(File => "/path/to/private/key/file"
) or die "unable to load key";
$mail->sign(Method => "nofws", Selector => "private", Private => $priv);
$signature = $mail->signature->as_string;
my $qmail = Mail::QmailQueue->new("/var/qmail/bin/qmail-queue");
$qmail->sender('user@domain.com');
$qmail->recipient('target@gmail.com');
$qmail->data('DomainKey-Signature: ' . $signature .';' . "\r\n" . $FinalString);
$qmail->send;