Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #30, МАЙ 2003 г.

Mail Sender

Владимир Егоров aka Dr.NET

Спецвыпуск Xakep, номер #030, стр. 030-034-3


Функция mail возвращает true, если при отправке не возникло проблем (по крайней мере с постановкой сообщения в очередь на отправку), иначе она возвращает, как нетрудно догадаться, false. Поэтому в случае успешного посыла (mail(...) == true) пишем, что все ОК, иначе выдаем сообщение об ошибке. Ну вот и все с PHP-версией, правда, сразу оговорюсь, что все это сработает только в том случае, если на хосте, где это все будет размещаться, будет корректно работать SMTP-сервер, а если это не так, то не обессудь. Открою тебе свою страшную тайну, что я... нет, не то, что ты подумал, но тоже многим не нравится :). Я уже долгое время являюсь осторожным сторонником продуктов Microsoft (осторожным, дабы не получить увечья от злобных противников этой самой Microsoft :))). Кстати, мне кажется, Microsoft - женского рода... Что-то я отвлекся...

Великий ASP.NET

Ну что ж. С PHP разобрались. Ну дык раз взялись тебе помогать, то поможем тебе с нескольких сторон. Теперь я для сравнения покажу, как сделать то же самое с помощью очень модной в последнее время технологии ASP.NET (еще ее называют ASP+). Она кардинально отличается от старой технологии ASP как в плане программирования, так и в плане быстродействия. Я постараюсь показать хотя бы на нашем, все-таки достаточно примитивном, примере, насколько проще и быстрее создавать динамические страницы на ASP.NET, чем на PHP (кто останется не согласен - пишите, буду отбиваться и бить самостоятельно). Правда, чтобы постичь все прелести ASP.NET, тебе придется закачать с сайта Microsoft такую штучку, как Microsoft.NET Framework (естественно, все это имеет смысл только для Windows :), причем у тебя должен быть установлен Internet Information Server - в Win2000/NT его можно поставить в любой момент с установочного диска Windows). Кроме того, Microsoft.NET Framework также можно достать на диске с Microsoft Visual Studio.NET на Горбушке (не мне тебя уму разуму учить! :)). Да, к тому же для того, чтобы разместить свою ASP.NET-страницу в Интернете, тебе придется найти хостинг с поддержкой именно .NET. Возрадуйся, ибо таковых до попы даже в ру-нете.

Приступаем, к кодированию. Сначала создай файл с именем, например, mailsend.aspx.

Обрати внимание на расширение *.aspx, ибо ошибка хотя бы на один символ в расширении приводит к немедленному краху сервака и всего Инета :).

ASP-шка

Глядя на код в листинге, слушай внимательно. Я объясню, что все это означает. Первая строка <%@Import Namespace="System.Web.Mail"%> указывает компилятору, что должно быть импортировано пространство имен System.Web.Mail и для записи его классов будет применяться укороченная запись. Что такое пространство имен, класс и т.д., я не буду объяснять, иначе не хватит места, отведенного для статьи. Все, кому это безумно интересно, могут почитать много-много килостраниц соответствующей литературы. Далее идет обычное начало HTML-файла, после чего между тегами <script language="C#" runat="server"> и </script> идет сценарий отправки письма. У тех, кто знаком с HTML и JavaScript, сразу встает... вопрос: что это за язык - C#? Это новый язык, созданный Microsoft специально для .NET. Одно смущает - он ОЧЕНЬ похож на Java :). Параметр runat="server" говорит о том, что сценарий будет выполняться на стороне сервера.

Назад на стр. 030-034-2  Содержание  Вперед на стр. 030-034-4