Поиск

Вопросы и ответы

Можно ли использовать информацию от броузера для определения адреса электронной почты посетителя?

Хотя такая возможность кажется замечательной — с ее помощью мы бы избавились от ошибок ввода адресов электронной почты, — она попросту невозможна. У броузера нет адреса электронной почты пользователя. Значение, возвращаемое функцией remote_host модуля CGI, может в действительности не быть адресом, по которому пользователь получает электронную почту. Функция remote_user (если вы используете безопасные Web-транзакции), скорее всего, не будет содержать полного электронного адреса пользователя. И помните, броузер вполне может быть "недобросовестным" по части информации такого рода, к тому же некоторые дополнительные модули для броузеров Netscape и Internet Explorer поступают именно таким образом.

Кроме того, учтите, что пользователь может работать с Web-броузером в библиотеке, дома у приятеля, на работе или в Internet-кафе, поэтому адрес броузера даже удаленно никак не связан с адресом электронной почты пользователя.

Можно ли проверить адрес электронной почты?

Можете попытаться. Например, в большинстве современных адресов содержится символ в (коммерческого at), и его можно использовать для проверки. Однако адреса на локальном компьютере (например, postmaster, root) не содержат символа @.

Я опробовал CGI-программу отправки электронной почты и получил в сообщении строку From nobody...?

Ах, да. Программа sendraail регистрирует идентификатор отправителя сообщения. В действительности "отправителем" является сам Web-сервер. Web-сервер часто работает со специальным идентификатором пользователя (ID) — nobody, Web, httpd или (не дай Бог!) root - и именно этот адрес указывается в заголовке почтового сообщения. Ничего страшного. Если в качестве части заголовка вы обеспечите соответствующую строку From:, то именно эта строка и будет видна на экране у получателя.

Как к сообщению электронной почты присоединить файл?

Вам стоит заглянуть в MIME-модули, находящиеся в CPAN.