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

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

Дорогая Редакция 18 Октября 2006, в 12:00
Шрифт:
0 591

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

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

Ссылки по теме

Полное руководство по 301 редиректу

Команда SeoProfy подготовила пошаговую инструкцию со всеми деталями и нюансами

Жанна Рожкова Жанна Рожкова
16 Сентября 2014 года, в 14:47
0 1077

Обзор сервисов оценки качества ссылок SeoLib и CheckTrust

Плюсы, минусы и особенности работы с каждым инструментом

Яков Коротков Яков Коротков
28 Августа 2014 года, в 13:11
8 2348
Комментарии
0 комментариев
Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Поделиться 
Поделиться дискуссией:
Отправить отзыв
Войти
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Тест: Какой ты SEO-специалист?
Yurist Online
1
комментарий
0
читателей
Полный профиль
Yurist Online - 7/15
С Днем Рождения, SEOnews!
Гость - Спасибо за ответ
Подводные камни в контекстной рекламе
Hkey
6
комментариев
0
читателей
Полный профиль
Hkey - 3. Да вы правы. Они поправили чуток. Раньше выводил ). Но "дело" все еще выводит. Походу они убрали словоформу "день" у глагола "деть".
404: Этой статьи не существует
Лао - А мне простота нравится: nemnogosvetlee.ru/404
Чем запомнилась миру интернет-рекламы первая половина 2014 года?
Марал Гаипова
86
комментариев
0
читателей
Полный профиль
Марал Гаипова - Спасибо, Максим! Это был эксперимент) Будем и дальше искать варианты.
Как стать «мастером ключей» и писать хорошие SEO-тексты
Гость - Спасибо.
Обзор сервисов оценки качества ссылок SeoLib и CheckTrust
Виталий - "Независимый" пиар? Ну да, ну да...
Независимая экспертиза: тестируем сервис Checktrust.ru
Семен - 1) Мне не нравится соотношение входящих / исходящих ссылок по linkpad. 2) На этой странице уже есть одна сапо-ссылка - размещенная в футере + незаметным текстом. Это то, что мне не нравится в этой странице. Теория - пробежал глазами... Плохие ссылки - плохо, хорошие - хорошо. Ура. Ещё раз говорю, я нашел этот сервис неудобным для себя. Попробовать его, наверное, стоит. Наверное.
Прямая линия: Артур Суилин рассказывает о бета-версии Яндекс.Метрики 2.0
DirectCalls.ru
15
комментариев
0
читателей
Полный профиль
DirectCalls.ru - Спасибо!
Работа с поведенческими факторами: новый уровень
Movebo.ru
1
комментарий
0
читателей
Полный профиль
Movebo.ru - Пришлите, пожалуйста, кейсы на почту manager@movebo.ru. Сколько сессий, по каким ключам какого проекта Метрика не увидела? Желательно с доступами к самой Метрике. Если бы сессии можно было отследить, неужели Вы думаете, что GA их бы показывал?=) А Метрика в принципе может до 30% обычных сессий терять.))
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
478
Комментариев
374
Комментариев
285
Комментариев
263
Комментариев
171
Комментариев
123
Комментариев
97
Комментариев
97
Комментариев
86
Комментариев
80
Комментариев
67
Комментариев
60
Комментариев
56
Комментариев
55
Комментариев
52
Комментариев
45
Комментариев
44
Комментариев
43
Комментариев
43
Комментариев
43
Комментариев
40

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