Думаю что время SMTP-серверов без авторизации "кануло в лету".
Во всяком случае на большинстве (если не на всех) публичных сервисах - точно. Отсюда вытекает необходимость работать с SMTP с поддержкой авторизации.
NB: Я предпочитаю работать с сетью по возможности через модули более низкого уровня, то есть принцип примерно такой:
- Если задача реализуема через Socket.pm, я использую его,
иначе: IO::Socket, иначе LWP.
- Если задача реализуема через модуль семейства Net::, я использую
соответствующий модуль. Хотя в большинстве своем модули Net:: - надстройка над модулем IO::Socket, для некоторых протоколов вполне оправданно их применение. Хотя есть некоторые специфичные задачи для которых необходимо использовать Net::RawIP, который имеет более низкий уровень чем даже Socket.pm.
Архив Июнь 2009
Программисты всегда признавали, что отделение логики от представления - хорошая вещь. Сообщество Perl создало множество прекрасных систем для того чтобы делать только это. Тем не менее, не смотря на большое количество систем, все они укладываются в рамки двух моделей: модель pipeline и модель callback. Самые известные из представителей первой модели - HTML::Template и Template Toolkit. Шаблоны этих систем содержат простую логику представления в виде циклов, операторов условия и переменных (хотя TT гораздо более продвинутый и имеет очень обширные возможности - прим. Пер.). Программа на Perl в данной модели просто выполняет свою работу, затем загружает и обрабатывает соответствующий шаблон, так как будто бы данные текли через трубопровод (где на вход поступил шаблон и данные, а на выходе все это было смешанно и обработано в единое представление данных). Mason и Embperl относятся ко второй категории (callback). Они смешивают код и разметку шаблонов, и в данном случае шаблон «вызывает» Perl, когда он сталкивается с логикой программы.


