Автор Тема: Глюки Mail::Sender  (Прочитано 3695 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Skif

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 187
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Глюки Mail::Sender
« : 23 Сентября 2005, 12:13:27 »
Есть код работающий по разному на разных машинах. Почему - понять не могу:


Цитировать

sub send_mail {
shift @_;
my $result = 0;

my $smtpserver = shift @_;
my $smtpport = shift @_;
my $from = shift @_;
my $to = shift @_;
my $subj = shift @_;
my $message = shift @_;
my $attache = shift @_;
my $logfile = shift @_;
#;read_conf($conf,\'logfile\') || \'/var/log/urbd.log\' ;

print "Sending mail:\\n";
print "SMTP - $smtpserver\\n";
print "SMTP PORT - $smtpport\\n";
print "FROM: $from\\n";
print "TO: $to\\n";
print "Subject: $subj\\n";
print "Attached file: $attache\\n\\n";
print "\\n========------------- SMTP HEADER ---------------========\\n";

&logfile(\'sk_mod\',$logfile,"Sending mail...$subj");

$message = "$message \\n\\n";

open (MES, $logfile);
while () {
   $message = "$message$_";
}
close(MES);

my $sender = new Mail::Sender {smtp => $smtpserver, from => $from};
$sender->MailFile({to => $to,
   subject => $subj,
   msg => $message,
   file => $attache}) or $result = 1;
   
$sender->Close;# || &logfile($logfile,"Failed sand message $sender->{\'error_msg\'}"); # or  $result = 2;

print "\\nresult of sending mail ... :$result\\n";

if ($result == 0) {
   &logfile(\'sk_mod\',$logfile,"Mail sended");
}

if ($result == 2) {
   &logfile(\'sk_mod\',$logfile,"Failed sand message $sender->{\'error_msg\'}");
}
sleep 5;

return $result;
}




Mail::Sender стоит на всех тазиках. Ругается на строку

Цитировать
123
[root@k] /usr/ports/mail/p5-Mail-Sender/:/usr/local/script/urbd/bin/urbdmailclean.pl -conf=/usr/local/script/urbd/etc/sk_mailclean.conf
Ok!
Trying send mail....
Sending mail:
SMTP - 127.0.0.l
SMTP PORT - 25
FROM: mailclean.urbd
TO: mailclean.report@klo.kiev.ua
Subject: CLEAN MAIL REPORT
Attached file: /usr/local/script/urbd/log/mailclean.log


========------------- SMTP HEADER ---------------========
Can\'t call method "MailFile" without a package or object reference at /usr/local/script/urbd/lib/sk_mod.pm line 86.
[root@k] /usr/ports/mail/p5-Mail-Sender/:                                                                

На другой машине все проходит на ура с сим скриптом и пакектом.
В чем могут быть грабли?
Всё будет хорошо - я договорился!

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Глюки Mail::Sender
« Ответ #1 : 28 Сентября 2005, 15:52:17 »
Дык англицким же языком написано:
Can\'t call method "MailFile" without a package or object reference at /usr/local/script/urbd/lib/sk_mod.pm line 86
Объект у тебя не создается.
А почему - разбирайся.
2B OR NOT 2B = FF

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28