Google Вебмастерам Яндекс Клиентам Поисковые системы Сервисы SEO Чилаут Исследования Конференции Социалки Интернет-реклама Контекстная реклама Поиск Пресс-релизы Yahoo Microsoft Facebook Google AdWords Сайт Реклама Финансы Сделки Статистика Блоги больше
Рекламные ссылки

Снос зданий

 
Рекламные объявления

Создание простейшей e-mail рассылки

18.10.06 | 12:00 | Инструкция |

1. Введение
2. Создание рассылки на PHP
3. Заключение

1. Введение

В качестве эффективного инструмента продвижения сайта можно использовать Public Relations, т.е. создание положительного образа компании. Создание собственной рассылки – один из способов подобного продвижения, а вместе с тем – возможность приобрести хорошую репутацию. Конечно, сразу не появится несколько тысяч подписчиков на рассылку, однако её получатели – это Ваши клиенты. Поскольку они подписались добровольно, то скорее всего, заинтересованы в предоставляемой информации.

В созданной рассылке будет возможность публиковать всевозможные материалы, начиная от новостей, обзоров рынка и заканчивая собственными специализированными статьями, новыми разработками. Предлагаемая рассылка e-mail может быть посвящена какой-то более обширной теме, чем тематика Вашего сайта. Однако не следует забывать, что в ней обязательно должен присутствовать и раздел о Вашей компании.

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

Отправлять рассылку можно с различной частотой – все зависит от тематики рассылки. Например, для коротких новостных лент период рассылки может составлять от 1-2 дней; при достаточно сложном материале период необходимо увеличить до 3-5 (а в неко-торых случаях и до 7-10) дней. Но повторю: все зависит от специфики предлагаемой Вами рассылки – здесь нужно пробовать.

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

2. Создание рассылки на PHP

Сегодня Интернет предоставляет пользователям бесконечное многообразие платных и бесплатных сервисов, включая и услуги по e-mail рассылке. Что касается платных сервисов, понятно: платишь – получаешь, что хочешь (или почти). С бесплатными – сложнее. Т.к. они бесплатны, значит в письмах не избежать появления сторонней рекламы, да еще с логотипом представителя услуг, что многих совершенно не устраивает.

Давайте поставим перед собою цель – написать небольшой, достаточно простой, но в тоже время функциональный движок для создания рассылки, с помощью которой будем отсылать письма своими собственными силами.

Чтобы пользователь смог оформить подписку на Вашу рассылку, необходимо организовать диалог между пользователем и сайтом. Для этого клиенту необходимо предоставить форму, в которой он смог бы указать свои данные: адрес электронной почты, имя и фамилию, контактный телефон и т.д. Для простоты рассмотрим вариант формы только с адресом электронной почты – единственным обязательным из перечисленных элементов.

Адреса электронной почты будем сохранять в «базе данных» – текстовом файле maillist.data. Это необходимо по той простой причине, чтобы избежать повторной подписки на рассылку клиентом на один и тот же адрес электронной почты. Сделаем также возможным и удаление существующего адреса из списка рассылок, т.е. отказ от рассылки.

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

Для ввода адреса электронной почты клиента, который желает подписаться на рассылку, необходимо создать специальную форму. Состоять форма будет всего лишь из поля для ввода e-mail и кнопки для подтверждения подписки:

<form method="post" action="mailserv.php?action=save">
   <input type="text" name="mail" size="25">
   <input type="submit" name="submit" value="Подписка">
</form>

Таким образом, после ввода в поле mail адреса электронной почты и нажатия на кнопку с надписью «Подписаться», скрипту mailserv.php будет передан адрес для пополнения «базы данных» подписчиков на рассылку.

Рассмотрим скрипт mailserv.php. Данный скрипт выполняет следующие основные операции:

    1) сохраняет введенный адрес электронной почты (в случае его правильного ввода) в «базе данных» рассылке (текстовом файле maillist.data);
    2) проверяет корректность вводимого адреса электронной почты;
    3) проверяет «базу данных» рассылки на наличие в ней вводимого адреса электронной почты (для исключения вторичной подписки на рассылку);
    4) выводит разнообразные сообщения по результатам работы скрипта (об ошибках, предупреждениях, успешном завершении операции).

<html>
<head>
    <title>Подписка на рассылку<</title>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251">
    <meta http-equiv="content-language" content="ru">
</head>

<body bgcolor="darkseagreen" color="black">
<?php
   error_reporting(0);

   $dbFile = "maillist.data";

if ($action == "save")
{
   function checkMail($newMail)
   {
    $bIsMail = false;

    if (eregi("^[_\.0-9a-z-]+@([0-9a-z][-0-9a-z\.]+)\.([a-z]{2,3,4}$)", $newMail))
      $bIsMail = true;

    if ($bIsMail)
      return true;
    else
      return false;
   }

   $mail = trim(strtolower($mail));

   function findMail($newMail)
   {
    $dbFile = "maillist.data";
    $dbList = file($dbFile);

    for ($i = 0; $i < sizeof($dbList); $i++)
     if ($newMail == trim($dbList[$i]))
      $bIsPresent = true;

    if ($bIsPresent)
     return true;
    else
     return false;
   }

   if (is_file($dbFile))
   {
    $maillist = file($dbFile);

    if ($mail != '')
    {
     if (checkMail($mail))
     {
      if (!findMail($mail))
      {
       $maillist[] = "\n$mail";
       ?>
       <font color="red">Ваш e-mail успешно добавлен в базу данных рассылки!</font>
      <?php
      }
      else
      {
      ?>
       <font color="red">Внимание! Введенный e-mail уже есть в базе данных рассылки!</font>
      <?php
      }
     }
     else
     {
     ?>
      <font color="red"><strong>Ошибка! Вы ввели недопустимый e-mail адрес!</strong></font>
     <?php
     }
    }
    else
    {
    ?>
     <font color="red">Внимание! Необходимо заполнить поле e-mail!</font>
    <?php
    }
   }
   else
   {
   ?>
    <font color="red"><strong>Ошибка! Не найден файл базы данных!</strong></font>
   <?php
   }
}
?>

<br><br>
<strong>ПОДПИСКА НА РАССЫЛКУ</strong>
<form method="post" action="mailserv.php?action=save">
   Введите e-mail:
    <input type="text" name="mail" size="25">
    <input type="submit" name="submit" value="Подписка">
</form>

<br>
<strong>ОТКАЗАТЬСЯ ОТ РАССЫЛКИ</strong>
<form method="post" action="mailserv.php?action=delete">
    Введите e-mail:
    <input type="text" name="delete" size="15">
    <input type="submit" name="submit" value="Отказаться">
</form>

<?php
if ($action == "delete" $action == "save")
{
   $bIsDelete = false;

   if ($action == "delete")
    $maillist = file($dbFile);

   $fw = fopen($dbFile, "w");

   for ($i = 0; $i < sizeof ($maillist); $i++)
   {
    if (trim(strtolower($delete)) == trim(strtolower($maillist[$i])))
    {
     if ($delete != '')
     {
     ?>
      <font color="red">Введенный e-mail успешно удален из базы данных рассылки!</font>
      <?php
      $bIsDelete = true;
     }
    }
    else
    {
     fputs($fw, $maillist[$i]);
    }
   }

   fclose($fw);

   if ($delete != '')
   {
    if (!$bIsDelete)
    {
    ?>
     <font color="red"><strong>Ошибка! Введенный e-mail не найден в базе данных рассылки!</strong></font>
     <?php
    }
   }
}
?>
</body>

</html>

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

<form method="post" action="poster.php" name="poster">
   <input type="password" name="passwd" value="">
   <input type="submit" value="Управление рассылкой">
</form>

Как только посетитель (потенциальный клиент) после ввода пароля в поле passwd нажмет на кнопку с надписью «Подписка», пароль будет передан скрипту poster.php:

<html>
<head>
  <
  <meta http-equiv="content-type" content="text/html; charset=windows-1251">
  <meta http-equiv="content-language" content="ru">
</head>

<body bgcolor="darkseagreen" color="black">
<?php
   $subject = "Тема рассылки";
   $contact = "адрес@электронной.почты";
   $password = "password";

   $dbFile = "maillist.data";
   $maillist = file($dbFile);

   if ($passwd == $password && $action == "exec")
   {
   ?>
    <font color="darkblue"^gt;
    Всего в базе данных рассылки <?=sizeof($maillist)?> адрес(а/ов)<br>

    <?php
    for ($i = 0; $i < sizeof ($maillist); $i++)
    {
    ?>
     <?=$maillist[$i]?><br>
    <?php
    }
    ?>
    </font>

    <br><br>
    <form method="post" action="send.php">
     Тема Вашей рассылки:<br>
     <input type="text" name="subject" value="<?=$subject?>" size="50"><br><br>
     Содержание Вашей рассылки:<br>
     <textarea name="content" rows="10" cols="50"></textarea><br><br>
     Обратный адрес (Ваш e-mail):<br>
     <input type="text" name="contact" value="<?=$contact?>" size="50"><br><br>
     <input type="submit" value="Разослать">
    </form>

   <?php
   }
   else
   {
   ?>
    <form method="post" action="poster.php?action=exec">
     <input type="password" name="passwd" value="">
     <input type="submit" value="Рассылка (admin)">
    </form>
   <?php
   }
?>
</body>

</html>

Теперь самое главное: рассмотрим скрипт send.php, который будет отсылать рассылку на адреса электронной почты из «базы данных» клиентов своими силами:

<html>
<head>
  <title>Подписка на рассылку (отправка)</title>
  <meta http-equiv="content-type" content="text/html; charset=windows-1251">
  <meta http-equiv="content-language" content="ru">
</head>

<body bgcolor="darkseagreen" color="black">
<?php
   $refuse = "\n\nЧтобы отказаться от подписки на рассылку, перейдите по ссылке";
   $homepage = "http://адрес.Вашего.сайта/mailserv.php";

   error_reporting(0);

   $subject = $HTTP_POST_VARS["subject"];
   $content = $HTTP_POST_VARS["content"];
   $subject = stripslashes($subject);
   $content = stripslashes($content);

   $dbFile = "maillist.data";
   $maillist = file($dbFile);

   for ($i = 0; $i < sizeof ($maillist); $i++)
    mail($maillist[$i], $subject, $content ."$refuse $homepage?delete=$maillist[$i]", "From: $contact");
?>
   Рассылка успешно заверена!<br>
</body>

</html>

Рассмотренный выше пример является одним из самых простых, но в тоже время достаточно функциональным (с минимальным количеством функций для осуществления простой, но успешной рассылки). Более квалифицированные владельцы сайтов могут организовать дополнительно доставку себе извещения о новом подписчике, а подписчику сообщить о том, что регистрация успешно завершена и он включен в «базу данных» Вашей рассылки.

Имея подобный инструмент по организации на сайте полностью независимой рассылки, Вы сможете «диктовать» свои правила; проявите фантазию и организаторские способности в создании Вашей рассылки – полная свобода действий в выборе ее настроек и оформления.

3. Заключение

Итак, в качестве эффективного инструмента продвижения сайта можно использовать рассылку, что приведет к созданию отличной репутации для Вашей компании, а также к увеличению посетителей сайта компании – Ваших потенциальных клиентов.

Рассмотренный в данном мастер-классе пример рассылки на PHP показал, что ее создание – не такое и сложное дело (данный пример можно рассматривать как некий шаблон, каркас для чего-то более сложного). Были бы желания и оригинальные (но в то же время оптимальные) идеи по этому поводу.

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




10 комментариев
Карпатов Влад | 18.10.06 | 15:54
					В принципе мастер-класс неплохой. Меня интересует вопрос, можно ли написать скрипт рассылки не только на PHP?				
Смирнов Андрей | 18.10.06 | 16:32
					
В принципе мастер-класс неплохой. Меня интересует вопрос, можно ли написать скрипт рассылки не только на PHP?

Да, можно. В данном мастер-классе был выбран PHP только для примера. Некоторые разработчики скриптов предпочитают другие языки, например: Perl, C++ и некоторые другие. С моей точки зрения, на сегодняшний день PHP сочетает в себе простоту в понимании и написания программного кода с мощностью доступных операторов и функций языка; к тому же он очень интенсивно развивается, и для него создается множество сторонних модулей (по работе с zip-архивами, flash-анимацией и прочие). Но выбор всегда остается за Вами...
Гость | 19.04.08 | 21:10
					К%АК МНЕ СОЗДАТЬ E-mail				
Чернева Светлана | 21.04.08 | 17:14
					
К%АК МНЕ СОЗДАТЬ E-mail

Регистрируйтесь :D
Гость | 25.04.08 | 22:42
					как создать e-mail?

Сахно Олег | 28.04.08 | 11:04
					
как создать e-mail?

Регистрируйтесь
Гость | 11.06.08 | 15:04
					не понял				
Сахно Олег | 11.06.08 | 16:55
					Для тех кто не понял:

Для создания личного почтового ящика на Mail.ru Вам необходимо пройти процедуру регистрации.

Нажав на ссылку «Регистрация», Вы попадаете на анкету.

Поля, обязательные для заполнения, обозначены красной звёздочкой *.

* Укажите имя, которое Вы хотите иметь в качестве Вашего электронного адреса (e-mail). Это имя должно быть длиной не более 16 символов и состоять из латинских букв, цифр, знаков подчеркивания ("_"), минус ("-") или точки (".") Имя не может начинаться с символов минус ("-"), точка (".") или знака подчеркивания ("_"). Вы можете выбрать любой из четырех доменов: Mail.Ru, Inbox.Ru, List.Ru или BK.Ru

* Придумайте пароль к создаваемому Вами почтовому ящику. Введите его дважды. В пароле нельзя использовать кириллицу. Не выбирайте слишком простой пароль, его могут легко подобрать и воспользоваться Вашим почтовым ящиком.

* Чтобы иметь возможность восстановить забытый пароль, укажите секретный вопрос (или выберите его из предложенного списка), введите ответ на этот вопрос. Обратите внимание на то, чтобы другим было бы трудно подобрать правильный ответ на этот вопрос, а Вам было бы трудно его забыть. В случае правильного ответа на секретный вопрос, Вам будет предложено установить новый пароль.

Ещё одна возможность - получить новый пароль вместо забытого на другой электронный адрес. Если он у Вас есть - укажите его в соответствующем поле.

* Введите Ваши имя и фамилию, укажите пол.

* Укажите Вашу дату рождения: день в виде двух цифр, месяц выберите из списка, год введите как четыре цифры.

Если Вы хотите получать на Ваш компьютер извещения о приходе новых писем в Ваш почтовый ящик, в рубрике "Мгновенное уведомление о приходе почты" проставьте галочку около пункта "Установить программу Mail.Ru Агент". Выбирая этот пункт, Вы подтверждаете согласие с условиями Пользовательского соглашения М-Агента.

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

Убедитесь, что заполнили все обязательные поля анкеты.

* Ознакомьтесь с текстом Пользовательского соглашения.

* Для завершения регистрации Вашего нового электронного адреса нажмите кнопку "Зарегистрировать почтовый ящик".

В случае верного заполнения анкеты Вы попадете в почтовый ящик. Обратите внимание на наше приветственное письмо - в нём описаны основные возможности почты. Надеемся, информация из письма окажется Вам полезной.

Добро пожаловать на Mail.Ru!
Спасибо, что Вы выбрали именно нашу почту!
Гость | 28.08.08 | 13:56
					очень не понравился PHP-код

к примеру:

<?php
for ($i = 0; $i < sizeof ($maillist); $i++)
{
?>
<?=$maillist[$i]?><br>
<?php
}
?>

ужасно выглядит, не лучше ли

for ($i = 0; $i < sizeof ($maillist); $i++)
print($maillist[$i].'<br>');

или вообще через foreach

foreach ($maillist as $mail)
print($mail.'<br>');
sergertiavkaervj | 23.04.10 | 21:16
					ваш форум проста супер  побольши бе таких форумов как ваш былобе супер просто удачи ваммммммммммм				

Добавить комментарий
Гость | Сегодня      Войти на сайт
Ваше имя:
Это логотип компании:
TOP TEN
SmartSEO
ТриЛан
Advans
Не узнаю лого
Расширенный ответ
Анонс
Анализатор апдейтов Яндекс
Дата
Тип апдейта
Шторм
24.07.2014
Текстовый апдейт
14%
23.07.2014
Текстовый апдейт
9%
21.07.2014
Текстовый апдейт
11%
20.07.2014
Текстовый апдейт
13%
Спонсоры и партнеры SEOnews
Партнеры


При использовании материалов сайта ссылка на сайт обязательна. Приглашаем авторов!
Rambler's Top100
2005-2014 Seonews.ru: новости поисковых систем, раскрутка сайта, продвижение сайта в интернете
и оптимизация сайта.
Сайт работает на системе
«1С-Битрикс: Управление сайтом»
Техническая реализация:
«Профессиональный подход»
Карта сайта
RSS Каналы RSS
Наверх
Мы сделали новый SEOnews
Он стал лучше, быстрее, легче и информативнее