footpad has asked for the wisdom of the Perl Monks concerning the following question:

I have a CGI script using MIME::Lite to upload a file and send it off to whoever. It runs fine on my BSD (4.2) box, but not on the production server (SunOS 5.6). The error log reports "Failed to connect to mail server: Connection timed out..."

The line in question couldn't be simpler:

if ( $msg->send() ) { print "Your information has been saved and forwarded."; } else { print "Unabled to save your information."; }

Strangely, the following test script works from the command-line. (I can't however, test it from the browser because of the way they enable CGI scripts and I'm just trying to troubleshoot the problem.Ώ]):

#!/usr/bin/perl -wT use strict; use CGI qw( :standard ); use MIME::Lite; my $cgi = new CGI; print header, start_html, "Now testing Mime::Lite...\n"; my $msg = MIME::Lite->new ( Type => 'TEXT', From => 'sendtest', To => 'footpad@THISISFAKE.example.com', Subject => 'Simple Test', Data => 'This is a test. Does it work?' ); if ( $msg->send() ) { print "Your information has been saved and forwarded."; } else { print "Unabled to save your information."; } print end_html;

I suspect there's a rights issue (e.g. nobody can't run sendmail), however, I'm not sure how to explain this to the "support" team. If it matters, MIME::Lite is v2.111 and perl is 5.6.0 on the production server.

My petitions are:

Thanks in advance...

--f

Footnotes:
[1] - Briefly, they have this "process" that takes three weeks to complete in other to "allow" CGI scripts to execute. It also takes them that long to install CPAN modules. Ain't life grand?

Replies are listed 'Best First'.
Re: Timeout using MIME::Lite
by Adam (Vicar) on Jun 04, 2001 at 20:54 UTC
    My advice is to not use Sendmail. Use MIME::Lite with SMTP. You can get finer control over the whole process this way, and avoid root issues. (Plus you connect to the server before you send, so you get better error reporting as well.)
Re: Timeout using MIME::Lite
by dws (Chancellor) on Jun 04, 2001 at 22:52 UTC
    I suspect there's a rights issue (e.g. nobody can't run sendmail), however, I'm not sure how to explain this to the "support" team.

    If this is a rights (or access list) issue, you should be able to replicate it via telnet (to the SMTP port) when su'd to "nobody". That takes MIME::Lite (and Perl) out of the loop, which should make the problem easier to explain to your support team.