Отправляет email-рассылки с помощью сервиса Sendsay

Твой первый сайт

  Все выпуски  

Твой первый сайт: от А до Я



Рассылки сайта "Время России" на subscribe.ru


Твой первый сайт: от А до Я


Практически Бесплатно!

Высшее Образование по психологии не выходя из дома.

Никаких заумных книжек, Никаких заумных лекторов, Никакого мучительного обучения...

Только читателям рассылки всего за 600 руб. до 31 декабря!!!

Сядь, расслабься и получи удовольствие от новых знаний:

"Основы НЛП и манипулирования"


Супер ХАЛЯВА!!! Офигительно привлекательное предложение!!!
Мечты сбываются! Приглашай друзей, получай призы! Автомобиль AUDI-A4 практически твой!!!


  Хиты продаж

Извращаемся над линкой <mailto> или Облегчаем жизнь юзерам


Лучшие рассылки на
Subscribe.ru


Компьютерная литература -
105  электронных учебников умещающихся на 3 CD

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

Энциклопедия вебмастера - Супер сборник на двух CD, который будет просто необходим, как начинающим сайтостроите-лям так и продвинутым вебмастерам.

Энциклопедия манипулирова-ния или как самостоятельно изучить НЛП и гипноз (2 CD)

Энциклопедия начинающего крэкера

 Учебный сборник на CD  "Уроки Вебмастерства"

Автор: Алекс aka TrigGer
Источник: kovrik.hut.ru

   Тут все просто как три рубля (это любимое выражение моего папочки). Для нас не секрет (для web-мастеров), что линка mailto отвечает за послание почтовых сообщений на определенный адрес электронного ящика. Для непосвященных (я имею в виду юзеров :), которым невдомек, что при нажатии на текстовую ссылку с именем автора (обычно это делается для того, чтобы отправить письмецо автору по e-mail'у) выскакивает стандартное окошко редактирования почтовых сообщений какого-нибудь почтового клиента (например, MS Outlook Express или The Bat!). Так вот юзеры видят, что некоторые поля уже заполнены до того, как они начали что-нибудь вводить в поля "Кому", "Тема" и т.д. Ну, поле "Кому" заполняется автоматически, когда мы ставим ссылку на электронный адрес после связи <mailto>. Например, mailto:trigger@ezmail.ru и мы получаем обычную ссылку, которая вызывает окошко редактора сообщений и вписывает в поле "Кому" электронный адрес (в данном случае это trigger@ezmail.ru). Все просто :

Ну, а теперь посмотрим, как можно облегчить жизнь нашим юзерам. Так, чтобы им не пришлось лишний раз давить на клавиши и мучить себя и бедную клаву, которая и так еле дышит и то через раз!!! Тут все просто (повторяюсь!!!). Просто нужно после электронного адреса добавить вот эту строчку: ?subject=. И что же мы получим? А получим мы не много ни мало, а то, что поле "Тема" будет заполнятся автоматически, просто после знака "=" нужно вставить свой текст или тему. Например: "От посетителя такого-то сайта" или "Комментарий к статье такой-то" и так далее. Тут уже все зависит от фантазии. В конечном итоге мы получили вот такую запись:

mailto:trigger@ezmail.ru?subject=Комментарии к статье Извращаемся над линкой или Облегчаем жизнь юзерам

Но это не предел. Сейчас я еще вам дам совет как извратится над жертвой. А так!!! Добавим после электронного адреса вот такую запись: mailto:trigger@ezmail.ru?body=Уважаемый TrigGer!!!
И получаем надпись "Уважаемый TrigGer" в теле письма. Это у нас что-то типа заголовка или уважительного обращения к собеседнику. Но и на этом еще не все!!!! Я вас еще не утомил :-) Теперь посмотрим что же можно получить, комбинируя такие записи, как subject и body. А вот что:

mailto:trigger@ezmail.ru?subject=Комментарии к статье Извращаемся над линкой или Облегчаем жизнь юзерам&body=Уважаемый TrigGer!!!

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

С уважением TrigGer. Удачи!!!


Отправка писем через PHP


   Автор: Алекс aka TrigGer
Источник:
kovrik.hut.ru

Как отправить письмо через PHP, используя формы, и как при этом устранить возникающие проблемы с кодировкой?


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

Рассмотрим на простом примере, как отправить вопрос через формы на сайте. У нас будет 3 поля для ввода:

Ваше имя:
* E-mail:
* Вопрос:

Причем "Ваше имя" не является обязательным параметром. А все остальные поля, помеченные звездочкой, являються обязательными. От этого и будем плясать, когда пользователь не введет свое имя или укажет не правильный e-mail или его вообще не напишет. Выводить будем как ошибку, но об этом позже. Для простоты и удобства разместим форму и код прогараммы в одном файле. Важно указать кодировку страницы (windows-1251), чтобы далее не возникало проблем с перекодированием из win в koi (ниже)
Итак, приступим. Начало документа стандартное:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Отправка письма</title>
<meta content="text/html;charset=windows-1251" http-equiv="Content-Type">
</head>
<body>


Далее идет 2 логические части:
1 - вывод формы
2 - обработка формы и отправка письма

Вначале идет вывод формы.

Для удобства в начале определяем e-mail через переменную $mailto, на который будет отсылаться письмо из формы. Далее мы определяем, была ли нажата кнопка "отправить". В конце формы имеется кнопка "отправить", она имеет аттрибуты name="ok" и value="отправить". Этот аттрибут вам придеться вписать самостоятельно, так как он отличается от стандартного (если такой аттрибут вообще есть). После нажатия на нее переменная $ok будет иметь значение "отправить". Если кнопка не нажата, то переменная не определена. Таким образом, выражение if (empty($ok)) означает буквально "если кнопка отправить не была нажата". Функция empty() возвращает true, если переменная не определена, содержит 0 или пустоту.

<?
$mailto="name@server.ru";
if (empty($ok))
{
?>


Далее идет вывод формы, если выполнено предыдущее условие if (empty($ok)).
Переменная $PHP_SELF означает, что обработку формы производит текущий файл, т.е. тот же, на кот. расположена форма.

<h3>Отправьте вопрос автору сайта</h3>
Поля, отмеченные (*), обязательны для заполнения.
<br><br>
<form action="<?echo $PHP_SELF;?>" method="post">
<table>
<tr>
<td>Ваше имя:</td>
<td> <input type="text" name="username" size="30" maxlength="20"></td>
</tr>
<tr>
<td>* E-mail:</td>
<td><input type="text" name="mailfrom" size="30" maxlength="50"></td>
</tr>
<tr>
<td>* Вопрос:</td>
<td><textarea cols="50" rows="10" name="question"></textarea></td>
</tr>
</table>
<input type="submit" name="ok" value="отправить">
</form>

В противном случае, т.е. если была нажата кнопка, идет обработка формы и отправка письма

<?
}
else
{


Хочу предупредить переменная $PHP_SELF не всегда работает на том или ином хостинге, предоставляющим вам место под сайт. В принципе вы можете оставить ее как есть и выложить ее на сервак, а там уже тестировать, при условии, что вам разрешен sendmail. Если окажеться, что эта переменная не работает, то не отчаивайтесь просто поменяйте ее на название файла, где у вас форма. Должно получиться так, что файл с формой будет обрабатывать сам себя.

Далее идет проверка на корректность заполнения поля "E-mail". Любители ругулярных выражений эту проверку поймут. Для остальных немного поясню:

Подразумевается, что e-mail должен быть такого вида:
слово@слово.слово
При этом слово может состоять из всех букв латинского алфавита и цифр и точка может быть не одна. (например слово@слово.слово.слово)
[a-z,0-9] - означает "любая буква латинского алфавита или цифра"
+ - означает, что [a-z,0-9] может встречаться 1 или более раз.
Если введен неправильный e-mail, то в переменную $error записывается ругательное сообщение.

if(!preg_match("/^([a-z,0-9])+@([a-z,0-9])+(.([a-z,0-9])+)+$/", $mailfrom))
{
$error = "Не верно заполнено поле: <b>E-mail</b><br>";
}


Этого может быть оказаться не достаточно для того, чтобы проверить форму на наличие e-mail. В таком случае записываем ниже:

if (empty($mailfrom))
{
$error="Не заполнено поле:<b>E-mail</b><br>";
{


Таким же способом можно проверять и имя пользователя, только меняя переменную. Проверять можно что угодно и выводить на экран тоже - это уже на ваше усмотрение.

Если поле "Вопрос" не заполнили, то к переменно $error добавляем еше одно ругательство:

if (empty($question))
{
$error = "Не заполнено поле: <b>Ваш вопрос</b><br>";
}


Если переменная $error не пустая, то мы ее выводим на экран и немедленно прекращаем дальнейшую обработку с помощью exit, то есть скрипт прекращает обработку формы и выводит сообщение об ошибке.

if ($error)
{
echo $error;
echo "<br><a href=\"javascript:history.go(-1)\"
class=\"text\">Вернуться назад</a>";
exit;
}


Ну а если таки $error осталась пустой и exit не сработал, то можно приступать к отправке письма, т.е. главной цели всего этого мероприятия...
Сформируем тему и тело сообщения:

$subject="Вопрос от $mailfrom";
$body="Имя:
$username

E-mail:
$mailfrom

Комментарии:
$question";


А теперь самое главное, чтоб потом можно было прочитать письмо "по-русски" :) Функция convert_cyr_string перекодирует строку из win в koi (w-win, k-koi) Это необходимо, т.к. все почтовые клиенты по дефалту принимают письма в koi. А у нас вверху страницы стоит charset=windows-1251, поэтому функция грамотно переводит из win в koi Затем с помощью функции mail отправляется письмо на $mailto, указанный в начале файла.

$body=convert_cyr_string (stripslashes($body),w,k);
$subject=convert_cyr_string (stripslashes($subject),w,k);
$sucess = mail($mailto, $subject, $body,
"From: $email
X-Mailer: PHP/" . phpversion());


Ну и самое приятное... Если письмо успешно отправлено, то выводим благодарственную надпись и предлагаем вернуться..

if ($sucess)
{
echo "Спасибо. Ваш вопрос отправлен.<br><br>";
echo "<a href=\"javascript:history.go(-1)\"
class=\"text\">Вернуться назад</a>";
}


Стандартный конец..

}
?>

</body>
</html>

P.S. Как наверно понял читатель, нужно выделить и скопировать все синие блоки в один файл по порядку и запустить его на сервере. Весь код является полностью проверенным и рабочим. Кстати. чуть не забыл, когда выложите страницу на сервак, то нужно выставить им права доступа к этой страницы с помощью любого FTP-клиента. Это так называемые chmod. Ознакомтесь с интсрукциями на сервере хостинга. Обычно это 711 или 755. Советую ставить 755, тогда точно пользователь получит право ознакомиться с вашей страницей. Выставляйте права так: chmod 755 nameyourpage.php

Удачи!!!


"Домашний компьютер: от А до Я"

Анекдоты, которые расмешили всю Россию

"Мышеловка" или всё о мошеничестве в Интернет

Коллекция самых необходимых ссылок по Internet

Рассылка для настоящих мужчин

Интернет без секретов: курс молодого бойца

Ах какая женщина" или как стать счастливой в короткий срок

Худеем в два счёта

Интернет или как стать продвинутым пользователем

Как стать обаятельной и привлекательной

Кулинарное искусство
 

ЖДЁМ   ПИСЕМ


В избранное