Автор Тема: Модуль для работы с почтой  (Прочитано 6339 раз)

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

Оффлайн cr4ck3r

  • Фанат Perl
  • Постоялец
  • ***
  • Сообщений: 146
  • +0/-0
  • 2
    • Просмотр профиля
    • http://perlmonks.org.ru
Модуль для работы с почтой
« : 07 Марта 2006, 11:45:02 »
Таких модулей в общем-то полно. Но этот я написал для своих собственных нужд, именно из-за неумения српавится с модулем Net::SMTP... :rolleyes:
Не удите строго - думаю я еще улучшу этот модуль. Сейчас же он предназначен для отправки почтового сообщения с вложением. При этом работает он с модулем Socket, а не IO::Socket, что позволяет работать ему быстрее. Но для спама он не очень годится - в данном виде. Для ускорения надо выделить функцию коннекта к серверу в отдельный элемент, дабы не коннектится каждый раз к серверу для отправки следующего письма. Но это потом, а сейчас - простой и довольно быстрый модуль для отправки почты с аттачем.
Пример работы с модулем:
Цитировать

#!/usr/bin/perl -w
use strict;
use lib qw(.); # если модуль лежит в одной папке со скриптом
use SimpleMail;

my %data=(Host => \'localhost\',
Helo => \'notebook\',
From => \'hider@notebook\',
To => \'user@notebook\',
charset => \'koi8-r\',
Subject => \'Hello!\',
Message => \'Hello! Friend!\',
File => \'arc.tar.gz\',
Type => \'application/octet-stream\',
Debug =>0 # вывод ответов smtp-сервера
);
my $test=send(\\%data);


Исходники
Ворота в perl - perlmonks.org.ru

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Модуль для работы с почтой
« Ответ #1 : 11 Марта 2006, 22:01:45 »
perldoc Mime::Lite?:)
И хоть через SMTP, хоть через sendmail.
А велосипед - да, рулит.:)
2B OR NOT 2B = FF

Оффлайн cr4ck3r

  • Фанат Perl
  • Постоялец
  • ***
  • Сообщений: 146
  • +0/-0
  • 2
    • Просмотр профиля
    • http://perlmonks.org.ru
Модуль для работы с почтой
« Ответ #2 : 13 Марта 2006, 10:05:06 »
Ошибаетесь уважаемый.
Посмотрите код Mime::Lite и мой код. Я же говорю - мой код работает напрямую с Socket, а не через IO::Socket, а код в указанном вами модуле, работает через Net::SMTP, да и еще кучу модулей требует для своей работы.
В моем же варианте требуется Socket, который есть везде, и MIME::Base64, от которого можно отказаться - написав процедуру кодирования (это будет в следующих версиях).
Да и весит этот Lite - 90 килобайт, а мой модуль - 4 кб. Разница однако :-))....
Ворота в perl - perlmonks.org.ru

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
Модуль для работы с почтой
« Ответ #3 : 13 Марта 2006, 12:09:46 »
1. 501 5.0.0 HELO requires domain address
2. Subject не перекодирует в 7-битный код.
3. Можно послать только 1 приложение.
4. С приложениме что-то напортачено, поэтому в pine не открывается.
5. для charset="koi8-r" и Content-Transfer-Encoding: 7bit не перекодирует текст.

дальше смотреть не стал, и так ясно, что задница.

Оффлайн cr4ck3r

  • Фанат Perl
  • Постоялец
  • ***
  • Сообщений: 146
  • +0/-0
  • 2
    • Просмотр профиля
    • http://perlmonks.org.ru
Модуль для работы с почтой
« Ответ #4 : 13 Марта 2006, 13:33:42 »
Со своей задачей он справился на 5-ть. и как я сказал - это первая версия.
Ворота в perl - perlmonks.org.ru

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
Модуль для работы с почтой
« Ответ #5 : 13 Марта 2006, 13:38:21 »
а задача какая была -- кинуть ссылку на него тут?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Модуль для работы с почтой
« Ответ #6 : 13 Марта 2006, 13:39:59 »
cr4ck3r

http://forums.webscript.ru/showthread.php?s=&threadid=9932&msgnum=0
Изобретение велосипедов не преследуется по закону, и если вы занялись этим процессом, то не стоит привлекать к нему остальных участников форума.

[moderator]
Тема закрыта.
The documentations is your friend

 

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