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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Глючит MIME, Может быть такое? 
:(
    Опции темы
rcdimon
Дата 4.8.2005, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

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



У меня прямо какие-то чуседа происходят с этим модулем.

MIME::Parser работает и нормально показывает количество вложений в письме и действительно создает файлы с их содержимым. Но метод build не работает

Я беру пример кода непосредственно с www.cpan.org и в этом кода он показывает ошибки!

Код

    my $top = MIME::Entity->build (    'X-Mailer'    => 'Perl Mail Client v0.1',
                    -From        => "$login_\@$server_",
                    -To        => $to,
                    -Cc        => $cc,
                    -Subject    => $subject,
                    -Charset    => 'Windows-1251'
                    );    
    $top->attach(Path=>"./testin/short.txt");
    $top->attach(Data=>$message);


На что он любезно отвечает:

can't build entity: no body, and not multipart!

---------------------

Пытаюсь получить части письма кодом:


Код

my $temp = $entity->parts($_)->bodyhandle->path;


На что он отвечает:
Что не знает метода bodyhandle

---------------------
Пытаюсь отправить письмо с помощью модуля NET::SMTP
вот этим кодом:

Код

    my $smtp = new Net::SMTP ("$server_");
       $smtp->mail("$login_\@$server_");
       $smtp->data;
       $smtp->datasend($top->stringify);
       $smtp->dataend;
       $smtp->quit;


на что он отвечает:

Can't call method "mail" on an undefined value at \home\LOCALH~1\cgi-bin\MAIL_L~1.CGI line 234, <GEN1> line 4.

В чем дело? Все модули вроде нормально установлены. NET вообще стандартный модуль и следовательно установлен без ошибок. А MIME частично (!) работает. Странно.
МОжет я что то не правильно делаю?

Я просто не знаю что и делать.
PM MAIL ICQ   Вверх
DEER
Дата 8.8.2005, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

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



дык он ж тебе говоритcan't build entity: no body, and not multipart!
По моему это значит что ты пытаешься послать пустое письмо...


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
quarz
Дата 14.8.2005, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



В том то и дело что совсем таки не пытаюсь. В коде же видно.

PM MAIL   Вверх
sharq
Дата 16.8.2005, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



rcdimon все оттого, что не внимательно читаешь документацию!

smile MIME::Entity
Цитата
Before reading further, you should see the MIME::Tools manpage to make
sure that you understand where this module fits into the grand scheme of
things. Go on, do it now. I'll wait.
Ready?


Цитата(rcdimon @ 4.8.2005, 18:31)
can't build entity: no body, and not multipart!


Код

  my $top = MIME::Entity->build ( Type    =>"multipart/mixed", ... );


Если ты приаттачиваешь к письму всякую фигню, то тело письма должно быть multipart!

------------------ smile

Цитата
Пытаюсь получить части письма кодом:

my $temp = $entity->parts($_)->bodyhandle->path;


лично я не знаю что такое у тебя $entity, возможно что у $entity->parts($_) нету метода bodyhandle.

----------------- smile

imho, в данном конкретном случае лучше юзать sendmail!

smile

Это сообщение отредактировал(а) sharq - 16.8.2005, 14:26


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
rcdimon
Дата 17.8.2005, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

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



Все теперь работает. Проблемы были в том, что у MIME есть несколько методов для получения из него тела письма. И один применяется когда есть аттачи, а второй, когда их нет. Если испоьзовать по другому они выдают ошибку.

А при постройке он выдавал ошибку потому что не существовало такого файла, который приаттачивался. А тип multipart MIME::Parser сам пишет, если появились аттачи. Его можно не указывать.


А с NET::SMTP проблемы были потому что ему передавались ошибочные данные в $server_

А все его методы работают только есть установленно соединение. А его не было есессно.

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


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

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


 




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


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

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