#!/usr/bin/perl
use warnings;
use strict;
use Mail::Qmail::Queue::Receive::Envelope;
use Mail::Qmail::Queue::Receive::Body;
my $qq_body = Mail::Qmail::Queue::Receive::Body->new()
or die "Couldn't read QQ body: $!\n";
my $qq_env = Mail::Qmail::Queue::Receive::Envelope->new()
or die "Couldn't read QQ envelope: $!\n";
my($body_fn,$env_fn)=@ARGV;
# Body
open(BODY,"> $body_fn.new")
or die "Couldn't open $body_fn.new for write: $!\n";
my $fh = $qq_body->body_fh()
or die "Couldn't get fh for body: $!\n";
while (<$fh>)
{
print BODY;
}
$qq_body->close()
or die "Couldn't close body: $!\n";
close(BODY)
or die "Couldn't close $body_fn.new: $!\n";
rename("$body_fn.new",$body_fn)
or die "Couldn't install $body_fn: $!";
# Envelope
open(ENV,"> $env_fn.new")
or die "Couldn't open $env_fn.new for write: $!\n";
while (my $e = $qq_env->read_envelope_string)
{
print ENV $e,"\0";
}
print ENV "\0";
close(ENV)
or die "Couldn't close $env_fn.new: $!\n";
rename("$env_fn.new",$env_fn)
or die "Couldn't install 30Send.body: $!";
exit(0);