Net::Cmd->code() Net::Cmd->message() #### # Create ourselves an SMTP object my $smtp = Net::SMTP->new( Host => 'some.mailserver.de', Hello => 'my.mailserver.co.za', Timeout => 30, Debug => 0); # Talk to the server $smtp->mail("postmaster\@mailserver.co.za", Size => 20971520) or die "Oops. Server said ", $smtp->code(), " ", $smtp->message(); $smtp->to("youthere\@mailserver.de") or die "Error on RCPT TO: ", $smtp->code(), " ", $smtp->message(); $smtp->quit; #### $smtp->mail("postmaster\@mailserver.co.za", Size => 52428800); if ( $smtp->status() =~ /^[45]$/ ) { # informative error here exit(1); } #### if ( $smtp->status() =~ /^[45]$/ ) { if ( $smtp->message() eq "size limit exceeded" ) { print "Server returned a fatal error:\n"; print $smtp->code(), " ", $smtp->message(), "\n"; print "The message is too big. Boo-hoo\n"; } }