Перловый скрипт не отсылает почту

Модератор: Модераторы разделов

Аватара пользователя
Linny
Сообщения: 73

Перловый скрипт не отсылает почту

Сообщение Linny »

Всем доброго времени суток!
Появилась проблема: перловый скрипт должен отсылать заполненную форму по почте. Модуль Sendmail.pm установлен, но когда доходит до строки sendmail(%mail). На это пишет:
Undefined subroutine &main::sendmail called at forma.pl line 151.
Пробовали запускать екзампловые скрипты, которые делают только одно действие: отсылают указанную фразу указанному ресипиенту. Они выдают ошибку premature end of script. Кто-нибудь сталкивался? Поискала по инету - права, вывод - все в порядке...
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга

Re: Перловый скрипт не отсылает почту

Сообщение madskull »

Похоже, что ошибка в самом модуле Sendmail.pm.
Вы его изменяли?


Кстати, раз вы изменили его название, то и в самом модуле надо изменить
package SendMail;


Кстати, раз вы изменили его название, то и в самом модуле надо изменить
package SendMail;
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
plumbum
Сообщения: 169
ОС: Debivan

Re: Перловый скрипт не отсылает почту

Сообщение plumbum »

А сам модуль Вы смотрели? Может он не тот для которого вы пишите? Единственное что на ум приходит.

Я нарыл такой модуль http://marginalhacks.com/Hacks/DaVite/Sendmail.pm (у меня его вообще не было).
А внутри у него такой пример

Код: Выделить всё

  use Mail::Sendmail;

  %mail = ( To      => 'you@there.com',
            From    => 'me@here.com',
            Message => "This is a very short message"
           );

  sendmail(%mail) or die $Mail::Sendmail::error;

  print "OK. Log says:\n", $Mail::Sendmail::log;

Все заработало с пол пинка.

Другие виденные мной почтовые модули используют объектный интерфейс... (ну еще за исключением модуля мной самим писаного)
ivan-a-r_1.0-19791224.3_ru_i786.deb (testing)
Спасибо сказали:
Аватара пользователя
Linny
Сообщения: 73

Re: Перловый скрипт не отсылает почту

Сообщение Linny »

Похоже, в солярке завелся барабашка!
То, что у вас работает с пол-пинка, у меня плюется ошибкой
Undefined subroutine &main::sendmail called at ./test2.pl line 9.
test2.pl - это копи-пэйст с примера, Sendmail - файл из ссылки...
ничего не понимаю...

2madskull: сам модуль не трогали, с регистрами все ок - проверено неоднократно...
Точно барабашка...
Или такой вопрос: если написано use Mail::Sendmail, то можно модуль запихнуть в папку Mail относительно текущего каталога, где лежит скрипт? Или он обязательно должен быть по одному из путей типа: /usr/perl5/site_perl/5.8.4 ?
Спасибо сказали: