[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA



That is exactly what your script is doing.  It checks to see if the port
will open and then closes the port.  One thing you could do is have the
script check to see if it just opened port 25, if so issue one of the
valid commands:
MAIL = send email
EXPN = explain address (expand if list)
VRFY = verify address
ETRN = run mail queue

On RedHat 8.0 EXPN and VRFY aren't actually implemented, but you can
still issue them.  Just send VRFY address.  It will tell you it cannot
verify the user, but you shouldn't get the errors in your log.



On Mon, 2002-12-16 at 11:46, Charles Menzes wrote:
> I'm a little confused as to why I am seeing the following in my maillog. 
> I'm seeing this on redhat rpm sendmail packages 8.11.6. I have my local 
> net configured in access.db as RELAY. The message is being logged every 10 
> minutes, which conincides with a small perl script I am running to check 
> on whether certain ports are listening. Maybe my perl syntax is incorrect?
> A quick google makes it sound like this is seen when the server itself is 
> either blocking the conversation or the remote side is attaching and then 
> just dropping the connection. Since I'm able to send other mail, it seems 
> to really point to the script. Any ideas or suggestions on how to 
> confirm/correct this?
> 
> 
> Mail log entry:
> Dec 16 09:30:01 name1 sendmail[3832]: NOQUEUE: test1.lunarhosting.lab 
> [10.12.71.10] did not issue MAIL/EXPN/VRFY/ETRN during connection to 
> MTA
> 
> Perl Script:
> #!/usr/bin/perl -w
> use strict;
> use IO::Socket;
> use Sys::Hostname;
> use Mail::Mailer;
> use POSIX qw(strftime);
> 
> my %services = (
>                  smtpd    => '25',
>                  named    => '53',
>                  httpd    => '80',
>                );
> 
> ## set up values for socket
> my $proto = 'tcp';
> my $false = 0;
> my $hostname = hostname();
> my $host = gethostbyname("$hostname");
> my $ip = inet_ntoa("$host");
> 
> for my $daemon(keys %services) {
>   my $disco = '0';
>   my $checkport = IO::Socket::INET->new(
>     PeerAddr => "$ip",
>     PeerPort => "$services{$daemon}",
>     Proto    => "$proto",
>     Timeout  => '0',
>   ) or $disco = "1";
> 
>   if ($disco) {
>     &notify("$daemon");
>   }
>   close $checkport if (!$disco);
> }
> sub notify {
>   my $daemon = shift;
>   my $to = 'foo@lunarmedia.lab';
>   my $from = 'bar@lunarmedia.lab';
>   my $subject = "$time - $hostname not listening on 
> $services{$daemon}:$daemon";  
>   my $mailer = Mail::Mailer->new();
> 
>   $mailer->open({
>                         To      => "$to",
>                         Subject => "$subject",
>                         From    => "$from",
>   });
> 
>   $mailer->close;
> }
> 
> 
> 
> 
> -
> To unsubscribe, send email to majordomo@luci.org with
> "unsubscribe luci-discuss" in the body.
-- 
Todd Davis (tdavis@msfw.com)
Red Hat Certified Engineer (RHCE #807101281603181)


-
To unsubscribe, send email to majordomo@luci.org with
"unsubscribe luci-discuss" in the body.