Издание о поисковом маркетинге
и заработке в Интернете
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Найти

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

18 Октября 2006 года, 12:00
Шрифт:
1 2957

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 показал, что ее создание – не такое и сложное дело (данный пример можно рассматривать как некий шаблон, каркас для чего-то более сложного). Были бы желания и оригинальные (но в то же время оптимальные) идеи по этому поводу.

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

internet-dlya-biznesa
Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Поделиться 
Поделиться дискуссией:
Отправить отзыв
Войти
  • Гость-Перегость
    5 месяцев назад
    Чегой-то не зафункционировало это все дело
    +
    0
    -
    Ответить
    Поделиться
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
SEOnews запустил «Юзабилити-лабораторию»
Владимир
1
комментарий
0
читателей
Полный профиль
Владимир - babochka-rnd.ru (Метрика есть, связь: st.iks@bk.ru)
Как выйти из-под санкций Google? Боремся с мерами, принятыми вручную
Гость - Этот Реалвеб - бездарная конторка в плане поисковой оптимизации и разработка у них никакая, выезжают только на контекстной и медийной рекламе.
Минусинск: Яндекс запускает алгоритм, пессимизирующий за SEO-ссылки
SEO гуру - Вот тут уже истории успеха публикуют - nolinks2015.wix.com/yandex-minusinsk )))
Никита Андросов, Ingate: «В этот раз на интернет-индустрии кризис отразится негативнее, чем в 2008 году»
Максим Ляпцев
9
комментариев
0
читателей
Полный профиль
Максим Ляпцев - А вы можете отличить хороший дизайн от плохого? Хорошую верстку от плохой? Или, если вам будет проще - хорошую машину от плохой? Или вы инженер-конструктор чтобы критиковать ВАЗ?
Топвизор запустил инструмент кластеризации ключевых слов
Дмитрий Удимов
16
комментариев
0
читателей
Полный профиль
Дмитрий Удимов - Если речь была про мастер "Попробовать бесплатно" на главной, то уже починили. спасибо!
10 ярких нововведений в «Блогун 3.0»
Артур Панаев
1
комментарий
0
читателей
Полный профиль
Артур Панаев - новый блогун реально удобная тема
Веб-аналитика в подарок, или Аудит сайта как двигатель торговли
Настя Ощ
1
комментарий
0
читателей
Полный профиль
Настя Ощ - www.kolchakclub.ru/
«Улучшения» на сайте, которые убивают конверсию
Павел Чернозубенко - Кстати, а автор знает зачем в части статьи про "Кнопки социальных сетей" на прикрепленном скрин-шоте админ сайта вставил "звездочки" рейтинга? Автор статьи, поразите нас экспертным знанием: зачем и кому нужны звездочки на странице каждого товара? А?!
Артур Латыпов: «Отказываться от покупки ссылок нецелесообразно»
Артур Латыпов
4
комментария
0
читателей
Полный профиль
Артур Латыпов - Уважаемый Гость, читайте внимательней "Очень важно выбирать качественных ботов" имеется в виду конкретные случай, а не интернет-маркетинг в комплексе.
Исследование коммерческих факторов ранжирования от «Ашманов и партнеры»
Юрий Назаров
7
комментариев
0
читателей
Полный профиль
Юрий Назаров - Адреса, номерки, бирки, чаты исследовали - т.е. косвенные признаки проверили и сделали вывод типа - "Если мыть руки перед едой, то они становятся чище." А я слухал, про прямую зависимость от того, что представлено на сайте и для кого. Врут?
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
479
Комментариев
374
Комментариев
285
Комментариев
263
Комментариев
171
Комментариев
123
Комментариев
115
Комментариев
97
Комментариев
97
Комментариев
80
Комментариев
67
Комментариев
60
Комментариев
59
Комментариев
55
Комментариев
52
Комментариев
45
Комментариев
44
Комментариев
44
Комментариев
44
Комментариев
43
Комментариев
43

Отправьте отзыв!