Mail Sender Владимир Егоров aka Dr.NET Спецвыпуск Xakep, номер #030, стр. 030-034-1 (vme@front.ru) & ilich (ilich@atrus.ru) Мы тут посмотрели на тебя всей командой, оценили то, что ты творишь, и пришли к совокупному мнению, что ты серьезный чувак, так как хочешь сделать в нете что-то полезное. А посему решили тебе помочь. Знаешь, достаточно часто меня очень напрягает необходимость пользоваться некоторыми моими мыльниками лишь только через проги а-ля "The Bat!", "M$ Outlook" и тому подобным. Хочется стать в некоторой степени независимым от набора софта на тачке. Хочется иметь все и вся через web-интерфейс! У тебя, я полагаю, те же спазмы. PHP в общих чертах Ты наверняка заметил, что когда ты регишь доменное имя второго уровня, тебе дают, в зависимости от размера твоих ягод... твоего кошелька, один или не один мыльник. Такие мыла хороши своим именем, но не особо хороши в плане легкости использования. Видишь ли, не все умные и волосатые дядьки, творившие сии сервисы, такие умные и волосатые. Некоторые из них заломались (или силенок не хватило :)) сделать удобный доступ через web-интерфейс к мылам раздаваемых доменов. Короче говоря, программа на сегодня - позволить себе (подразумеваем: тебе) слать много-много писем, не отходя от осла IE и его компании. Замечу, чтоб данная байда фунциклировала корректно, надо направлять процесс ее деятельности на тех самых волосатых дядек, ведь только у них есть нужные нам почтовые сервера (точнее нам нужен только один из них - SMTP). К тому же нам, в принципе, по фигу, дадут тебе мыло или нет, ибо наличие данных серверов является для нас единственно приоритетным. Для начала создадим хтмльку, а в ней форму, в которую будут вводиться тема сообщения, его текст и адрес получателя. Для этого в файле mail.html напиши (после <body>): <form name="frm" action="mail_send.php" method="post"> Выражение "mail_send.php" - это имя файла со сценарием, который будет вызываться при нажатии кнопки "отослать". Для того чтобы форма выглядела более симпатично, настоятельно рекомендую оформить ее в виде таблицы. Также нам нужны два однострочных текстовых поля для адреса и темы и одно многострочное для текста сообщения. Обязательно укажи для каждого поля имя (атрибут "name"). В конце добавь две кнопки: для отправки сообщения и для очистки формы (<input type="submit"> и <input type="reset"> соответственно). Ну вот, собственно, форма и готова. Теперь напишем сценарий, который будет все это отправлять адресату. Сценарий будет на PHP, хочешь ты этого или нет. Итак, начинаем. Сначала создай файл mail_send.php, в нем напиши стандартное начало HTML-файла. <html> <head> <title>PHP Mail Sender</title> <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251"> </head> <body> <?php $rcptto = $HTTP_POST_VARS['rcptto']; if ($rcptto=="") { print "<h4>Необходимо ввести получателя сообщения!</h4>"; print "<a href=\"javascript:history.back(1);\"><<Назад</a>"; } elseif (preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/",$rcptto)) { $subj = $HTTP_POST_VARS['subject']; |