LINUX.ORG.RU

Модули PERL


0

0

При использовании модуля (например SMTP) выдаёт: Can't call method "mail" on an undefined variable хотя переменная уже определена. (Модули типа localhost работают)


текст скрипта то дай хотябы, и вообще почту перлом умеешь отправить? работает это дело или нет?

anonymous
()
Ответ на: комментарий от anonymous

Текст скрипта завтра дам. (У меня и-нет до 22:00). А отправка почты работает у всех кроме меня.

cranky
() автор топика
Ответ на: комментарий от anonymous

может, тебя в детстве по голове ударили??

anonymous
()

А эта "variable" видна в блоке, где "mail" вызывается?

anonymous
()

Конечно без твоего скрипта ничего не ясно, но посмотрев
в свой хрустальный шар рискну предположить следующее:

Ты делаешь:

use Net::SMTP;
my $smtp = Net::SMTP->new('some_mailhost');
$smtp->mail('user@example.com');

При этом ты _не_ проверяешь, успешно ли конструктор Net::SMTP->new()
создал объект. Если конструктор не получился, то $smtp будет
иметь значение undef и вызов $smtp->mail() даст именно это
сообщение - Can't call method "mail" on an undefined value.

Так что вперед проверять $smtp (как впрочем и результаты всех
остальных вызовов).

HTH

anonymous
()
Ответ на: комментарий от anonymous

А вот и скрипт:

use Net::SMTP;

$from='my@adress.ru'; $domen='dom.ru'; $serv='server.ru'; $to='other@adress.mil';

$smtp=Net::SMTP->new($serv, Hello => $domen);

$smtp->mail($from); $smtp->tp($to); $smtp->data();

$smtp->datasend("To: $to\n"); ... ... $smtp->dataend(); $smtp->quit;

cranky
() автор топика
Ответ на: комментарий от cranky

понял, надо читать perldoc Net::SMTP... 

Есть работающий скрипт, рассылает sms-ки:


#!/usr/bin/perl

use MIME::Lite;
$msg = MIME::Lite->new(
                 From     =>"Gamma!<$email>",
                 To       =>"$emls5, $emls4, $emls2, $emls1, $emls6",
                 Subject  =>"IPN triangulation",
                 Data     =>qq{"$xxx1 YA POSHLA GUЛЯТЬ"}
                 );
$msg->send if $ms=~m!GCN IPN triangulation!is;

anonymous
()
Ответ на: комментарий от cranky

понял, надо читать perldoc Net::SMTP... 

Есть работающий скрипт, рассылает sms-ки:


#!/usr/bin/perl

use MIME::Lite;
$msg = MIME::Lite->new(
                 From     =>"Gamma!",
                 To       =>"$emls",
                 Subject  =>"xxx-porno",
                 Data     =>qq{"я хочу тебя!!! немедленно!!!!!!!!
УРАААААААААААА ГИП-ГИП!!
ыыыыыыыыыыыыыыыыыы........
"}
                 );
$msg->send;

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.