Анимация
JavaScript


Главная  Библионтека 

0 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 [ 105 ] 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122


Отправка ---

электронной почты из CGI-программ

Несомненно, бороздя по просторам Web, вам приходилось заполнять форму, данные которой использовались для отправки электронной почты. Такие формы обычно применяются для составления списков рассылки, сообщений о неисправностях, обслуживания клиентов и пр.

На этом занятии вы узнаете, как из Perl-программ отправлять электронную почту, и рассмотрите пример небольшой Web-страницы, которую можно использовать для генерирования сообщений электронной почты. Как применять эту страницу - это уж решать вам.

Основные темы этого занятия.

• Как работает электронная почта Internet.

• Как послать электронное сообщение в системе UNIX и в других отличнгх от нее операционных системах.

• Как настроить Web-форму для отправки электронной почты.

Основы работы электронной почты Internet

Прежде чем дать волю своей фантазии на ниве программирования по части отправки сообщений электронной почты с помощью средств Perl, необходимо разобраться в том, как организована работа электронной почты в Internet.

Еще до рождения Perl, когда службы Web не было и в помине (т.е. в "мыслях" у NCSA) и модемы работали очень медленно, электронная почта бьша реализована через систему, именуемую 0-UNIX copy (UUCP). Когда вы посылали электронное

сообщение в той старой системе, локальный компьютер "упаковывал" его и передавал дальше, к следующему компьютеру в цепочке, которая снова "упаковывала" его и передавала очередному звену. Каждая система в цепи добавляла к "транзитному" сообщению немного "своих" данных, которые означали, что сообщение обработано и передано дальше (рис.



UUCP-система Транзитная Транзитная UUCP-система отправителя UUCP-система UUCP-система получателя


Почтовое

сообщение

Рис, 22.1, ПфЧ£щапснть1 от шспшь! к системе

Этот метод обмена почтовыми сообщениями по вполне очевидным причинам называется переданей сообщения с промежуточным хранением (store and forward). Система UUCP б1ла с тех пор заменена более современными системами, но основной метод передачи с промежуточным хранением по-прежнему остался в силе. При отправке почты со своего компьютера ее "подхватывает" другая система и передает еще одной системе, которая затем передает почту дальше, и так продолжается до тех пор, пока ее не получит система, для которой предназначено сообщение.

Современные протоколы в корне изменили процесс передачи сообщений. Самым

популярным является простой протокол пересылки почты (Simple Mail Transport Protocol - SMTP), который используется для отправки почты по цепи (рис. 22.2). Для получения почты в пункте назначения обычно используется либо почтовый протокол (Post Office Protocol - POP), либо протокол доступа к сообщениям Internet (Internet Message Access Protocol - ШАР), Пока остановимся на работе нротокола SMTP.

Система

Исходное сообщение

ретрансляции сообщений SMTP

SMTP--1 SMTpl-1 SMTpL-

Получатель

РОТ или IMAP

Рис. 22L2. пересып и поучения по1 испься раиче проток

Отправка почтового сообщения

Чтобы послать сообщение, вам потребуется агент передачи почты (Mail Transport Agent, ШШ МТА) и компьютер, обеспечивающий функционирование протокола SMTP. Объясним поподробнее.

Агент передачи почты - это программа, которая располагается на компьютере пользователя. Обычно она поставляется вместе с операционной системой и отвечает за принятие сообщений электронной почты и корректную их ретрансляцию. МТА обычно настраивается при установке операционной системы. Одна из распространенных МТА-программ в системах UNIX называется sendmail. Программа sendmail принимает почтовое сообщение и решает, как доставить его по назначению.

Чтобы послать почтовое сообщение в среде UNIX, используйте следующий синтаксис командной строки:

$ /bin/ech t\n\iinpHBeT, мир!" sendmail fooebar.coni

В этом фрагменте организуется отправка короткого сообщения по адресу foo@barcom Программа sendmail берет на себя все трудные этапы работы: принимает решение о выборе метода передачи сообщения, обрабатывает возвращаемую почту и т.д.



в операционных системах Microsoft Windows или Macintosli нет встроенной программы МТА. К счастью, модуле Perl позволяет отправлять почту напрямую. Модуль Net::SMTP может посылать почту без посредничества программы МТА, но в этом случае вам нужно знать имя компьютера, обеспечивающего ретрансляцию почты с по-мошью протокола SMTP. Обычно это имя указывается провайдером в карточке регистрации при получении доступа к Internet в графе "Mail Host", или сервер SMTP. Узнайте имя своего почтового сервера и запишите его где-нибудь: оно потребуется вам чуть позже.


Провайдер может сообщить вам несколько имен серверов, управляющих процессами отправки и получения почтовых сообщений. Для тем, обсуждаемых на этом занятии, вам понадобится узнать имя SMTP-сервера, отправляющего почту.

Помните: программе, которая отправляют почту по протоколу SMTP, понадобится

корректно работающий SMTP-сервер - в противном случае процесс отправки почты работать не будет.


Имя SMTP-сервера зависит от того, откуда вы отправляете почту. Если вы делаете это из дома, имя сервера обязательно сообщит вам провайдер услуг (Internet service provider - ISP). Если вы отправляете почту, используя учетную запись на арендуемом Web-сервере, имя SMTP-сервера можно узнать на одной из Web-страниц этого сервера. Обычно почтовые серверы не принимают сообщения, посланные с незнакомых для них систем.

Немного о правилах хорошего тона

В следующем разделе вы узнаете о новой функции которую можно ис-

пользовать для отправки почты с помощью Perl-программы. Это средство весьма полезно и в то же время очень опасно. Отправка кому-либо почты - это в некотором роде посягательство на его частную жизнь и собственность. Представьте такую картину: вы просите получателя почты выделить вам некоторое время и дисковое ство. Вы также просите все промежуточные системы, расположенные между вашей и системой получателя, передать эту почту для вас. Не слишком ли много просьб для постороннего лица?

Ниже перечислены некоторые "правила хорошего тона", или сетевого этикета, торые следует соблюдать при отправке почты с помощью Perl-программ или любого другого средства.

• Сначала проверьте свою программу с использованием хорошо известных адресов (например, своих собственных) и маленьких сообщений. Неприятности и так подстерегают на каждом шагу - постарайтесь не создавать новых.

• Не отправляйте по электронной почте сообщения коммерческого характера без специального запроса. Непрошеная почта - обычно называемая спэмом -

стала настоящей проблемой для пользователей Internet. Лишь немногие не

возражают против получения такого вида почтовых сообщений. Остальных же это по меньшей мере раздражает, а то и просто возмущает. Корпорации, злоупотребляющие возможностями электронной почты, непременно навлекают на себя гнев множества пользователей Internet. Интересуясь адресом электронной почты, всегда спрашивайте, согласен ли этот человек впоследствии получить от вас сообщение. Уважайте также желание многих пользователей не попадать в посторонние списки почтовой рассылки.



0 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 [ 105 ] 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122