Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Коды возврата Net::SMTP, как определить отправлено письмо или нет 
:(
    Опции темы
igorold
Дата 17.2.2006, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 3
Всего: 17



делаю отправку письма в скрипте, вот кусок подпрограммы, который это делает:
Код

    my $smtp = Net::SMTP->new('mail.papillon.ru', Debug => 1);
    $smtp->mail($_[1]);
    $smtp->to($_[1]);
    $smtp->data();
    $smtp->datasend("To: $_[1]\n");
    $smtp->datasend($Result);
    print $DebugFile "code:    $smtp->code()\n";
    print $DebugFile "message: $smtp->message()\n";
    my $itog = $smtp->dataend();
    $smtp->quit;
    if ($LevelDebug==2) {print $DebugFile "флаг отправки: $itog\n"};
    return ($itog);


хочется получить какое-то сообщение - отправлено письмо или нет и код возврата

в $DebugFile печатается (это я попытался отправить на 3 адреса, из них один адрес верный, один нет):

Код

code:    Net::SMTP=GLOB(0x8c689b4)->code()
message: Net::SMTP=GLOB(0x8c689b4)->message()
code:    Net::SMTP=GLOB(0x8c6a754)->code()
message: Net::SMTP=GLOB(0x8c6a754)->message()
code:    Net::SMTP=GLOB(0x8c87260)->code()
message: Net::SMTP=GLOB(0x8c87260)->message()


тот неверный адрес, который на mail.papillon.ru, код возврата "пробел", если адрес существует, то "1"
если несуществующий адрес на другом почтовом сервере, то код возврата все равно "1"

как получить реальные коды возврата, либо сообщения???


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
igorold
Дата 17.2.2006, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 3
Всего: 17



изменил отладочную печать:

Код

        print $DebugFile "Отправка адреса:  $_[1] --------------\n";
        my $check = $smtp->expand($_[1]);
        print $DebugFile "expand:  $check\n";
        $check = $smtp->verify($_[1]);
        print $DebugFile "verify:  $check\n";
        $check = $smtp->code();
        print $DebugFile "code:    $check \n";
        $check = $smtp->message();
        print $DebugFile "message: $check\n";


теперь печатаются сообщения:
Код

Отправка адреса:  [email protected] --------------
expand:
verify:  1
code:    252
message: 2.5.2 Cannot VRFY user; try RCPT to attempt delivery (or try finger)

Отправка адреса:  [email protected] --------------
expand:
verify:
code:    500
message: 5.5.1 Command unrecognized: "From: DBNums"

Отправка адреса:  [email protected] --------------
expand:
verify:  1
code:    252
message: 2.5.2 Cannot VRFY user; try RCPT to attempt delivery (or try finger)


реальный адрес только [email protected] ..... все равно не пойму, чего сделать ...


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Sadok
Дата 17.2.2006, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 2.11.2004

Репутация: 1
Всего: 2



igorold,
Цитата

все равно не пойму, чего сделать ...

Да все просто. Модуль пытается для проверки легитиности адреса использовать команду VRFY, которая на большинстве почтовых серверов запрещена по умолчанию.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0404 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.