If you're in a DMZ that can't see mail (port 25 closed to traffic) you may want to consider setting up Net::SMTP::Server::Relay on a non blocked port on a system outside of your DMZ to relay your mail. Then in your webapp just use Mail::Sendmail and point it to the relay.
#! /home/perl/5.6.0/bin/perl -w
# File: minimail.pl
# A mail relayer
use strict;
use Net::SMTP::Server;
use Net::SMTP::Server::Client;
use Net::SMTP::Server::Relay;
my($conn,$client);
#NOTE: the use of port number 2525
my $server = new Net::SMTP::Server("xxx.xxx.xxx.xxx", 2525);
while($conn = $server->accept()) {
my $client = new Net::SMTP::Server::Client($conn) ||
croak("Unable to handle client connection: $!\n");
$client->process || next;
# Log for debugging
# open LOG, ">./mini.log";
# print LOG "We hit!\n From->$client->{FROM}\nTO->$client->{TO}\nMSG->
+$client->{MSG}\n";
# close LOG;
my $relay = new Net::SMTP::Server::Relay($client->{FROM},
$client->{TO},
$client->{MSG});
}
coreolyn