Программирование > Perl
Net::Telnet & SMTP
(1/1)
			sickboy:
			
			Хочу сделать проверялку SMTP, в общем пример  практически из мана,
$smtp = new Net::Telnet (Telnetmode => 0);
$smtp->open (Host   =>  $hostname,
             Port   =>  $port);
$cmd = $smtp->getline;
die $cmd unless $cmd =~ /^220/;
print $cmd;
$smtp->print ("helo localhost");
$cmd = $smtp->getline;
die $cmd unless $cmd =~ /^250/;
print $cmd;
$smtp->print ("mail from: <my@example.com>");
$cmd = $smtp->getline;
die $cmd unless $cmd =~ /^250/;
print $cmd;
получаю:
220 ESMTP Sendmail
250 Hello localhost [127.0.0.1], pleased to meet you
500 5.5.1 Command unrecognized: ""
Не пойму, почему он на mail from ругается, т.е. ему видимо вместо команды отправляется 
--- Код:  ---\\n
--- Конец кода ---
, но кто и зачем это делает?!
		
			arto:
			
			1. экранировать @
2. смотреть на /var/log/maillog
		
			sickboy:
			
			Разобрался, define(`confLOG_LEVEL\', `32\') помогла,
$smtp->print ("helo localhost"); в действительности выглядит так, $smtp->print ("helo $hostname"), где $hostname = `hostname -s`, именно из-за этого был лишний слешN
Спасибо.
		
Навигация
Перейти к полной версии