Какой пакет от CPAN я должен использовать для отправки почты?
Когда-то подход timtowtdi очень утомителен. Для меня, особенно когда дело доходит до выбора пакета.
Таким образом, все, что я хочу, должно послать электронное письмо, потенциально электронные письма HTML. Между Почтой-Sendmail, Почтовым Отправителем, сетевым SMTP (-не доступный в PPM), Почтой-SendEasy и приблизительно 80 другими пакетами, которые имеют 'Почту' на их имя пакета - какой я должен выбрать?
И в то время как в этом предмете, что Ваш общий apprach должен выбрать "канонический" пакет для бега трусцой. Т.е. пакет, что "все используют". Там кто-либо оценивает или рекламный щит популярности где-нибудь?
каков ваш общий подход к выбору "канонического" пакета для jog. Т.е. пакет, который "все используют". Есть ли где-нибудь рейтинг или табличка популярности?
Когда я хочу выбрать, какой из нескольких модулей CPAN использовать, я смотрю на следующие вещи:
Лакмусовой бумажкой для модулей CPAN является первая страница документации. Если там неаккуратный синопсис или синопсис без простого рабочего примера, я считаю, что модуль, скорее всего, не очень хороший. Неопрятная, грязная или неправильно отформатированная документация также является тревожным сигналом.
Также, есть ли список рассылки для модуля? Наличие списка рассылки - хороший признак качественного, поддерживаемого, стабильного, документированного и популярного модуля.
Автор - важный фактор. Есть авторы, которые создают вещи отличного качества, такие как Gisle Aas, Graham Barr, Andy Wardley или Jan DuBois, а есть люди, которые выпускают много вещей, которые можно назвать "экспериментальными", такие как Damian Conway или Tatsuhiko Miyagawa. Опасайтесь людей, которые выпустили много модулей Acme:: (шутка) модулей. Также остерегайтесь вещей, написанных людьми, которые поддерживают только один или два модуля. Люди, у которых в общей сложности меньше пяти модулей, обычно не поддерживают их.
cpanratings.perl.org часто бывает полезен, но воспринимайте его с долей соли.
Кроме того, многое из этого - просто метод проб и ошибок. Скачайте и посмотрите, проходит ли он свои собственные тесты, посмотрите, есть ли у него вообще тесты, напишите тестовый скрипт и т.д.
Еще одна вещь, которую я хочу сказать: Опасайтесь советов в блогах, на stackoverflow, в новостях Usenet и т.п. - люди склонны направлять вас к любому модулю, который является "ароматом месяца", а не к стабильному, проверенному решению. "Модные" модули обычно не имеют документации, нестабильны, имеют кошмарные зависимости, и довольно часто вчерашние модные модули внезапно выходят из моды и от них отказываются, чтобы заменить их другим модулем месяца, оставляя вас в затруднительном положении, если вы решите их использовать.
Задача :: Кеншо обычно дает хорошие рекомендации. Для отправки электронной почты он предлагает Email :: Sender
Я добавлю Email::Stuff. Это хорошая обертка для Email::MIME. Вам не нужно заботиться о MIME-структуре почты, модуль делает это за вас.
Email::Stuff->from ('cpan@ali.as' )
->to ('santa@northpole.org' )
->bcc ('bunbun@sluggy.com' )
->text_body($body )
->attach (io('dead_bunbun_faked.gif')->all,
filename => 'dead_bunbun_proof.gif')
->send;
Что касается выбора модулей,
Если вам не нужно ничего, кроме основных функций, я предлагаю взглянуть на Mime :: Lite .
use MIME::Lite;
my $msg = new MIME::Lite
From => 'Your friendly neighbourhood spiderman',
To => 'green@goblin.net',
CC => 'info@nemesis.org',
BCC => 'mj@spidey.info',
'Reply-to' => 'enemies@spidey.info',
Subject => 'Please stop',
Data => $data; #Email body
die 'Could not send mail' unless ($msg->send);
Вы можете использовать Email :: Send
http://search.cpan.org/dist/Email-Send/lib/Email/Send.pm