Читаем Язык программирования Perl полностью

Если нужно в программе проверить почтовый ящик на сервере, то с помощью класса Net::POP3 не составит труда написать короткую программу, принимающую электронную почту. Например, такую:

use Net::POP3; # используем класс для получения e-mail my $mail_server = 'shadrinsk.net'; # почтовый сервер my $user = 'mshock'; # почтовый ящик my $password = 'secret'; # пароль $pop = Net::POP3->new($mail_server); # подключаюсь if ($pop->login($user, $password) > 0) {# регистрируюсь my $numbers = $pop->list; # получаю номера писем foreach my $numbers (keys %$numbers) {# по номеру my $message = $pop->get($numbers); # получаю письмо print @$message; # печатаю его $pop->delete($numbers); # удаляю с сервера } } $pop->quit; # отсоединяюсь

На серверах CPAN есть множество программ для работы с электронной почтой, включая серверы. На Perl написана свободно распространяемая почтовая система с web-интерфейсом Open WebMail (openwebmail.org). На нем же написана и одна из самых известных и эффективных серверных систем фильтрации спама - SpamAssassin.

Системы мгновенного обмена сообщениями (instant messaging), иногда также называемые Интернет-пейджерами, получили огромное распространение: миллионы людей ежедневно общаются с помощью ICQ, Jabber, AOL Instant Messenger или Yahoo!Messenger. В архивах на сайте CPAN можно найти Perl-модули для работы со всеми этими системами. Хотя этот обмен сообщениями ориентирован на взаимодействие людей, его можно использовать для программного извещения пользователя о каком-либо событии. Для примера напишем программу, отправляющую сообщение с использованием открытого протокола мгновенного обмена сообщениями XMPP/Jabber (дополнительный модуль Net::Jabber нужно установить из архива CPAN). В примере после соединения с Jabber-сервером отправляется сообщение пользователю, а после получения от него ответа работа завершается:

Перейти на страницу:

Похожие книги