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

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

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

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:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Поделиться 
Поделиться дискуссией:
Отправить отзыв
  • Альфред
    1
    комментарий
    0
    читателей
    Альфред
    2 дня назад
    Всё это очень интересно, но слишком сложно для человека не обладающими навыками простейшего программирования. Поэтому лично я советую пользоваться StandartSend.ru, в использовании прост до безумства, а в ценовом диапазоне доступен любому человеку. Они так же предоставляют возможность рандомизации писем при помощи макросов для обхода любых спам-фильтров. И базы данных им не нужно подтверждать - просто загрузил базу и рассылай.
    Вот и ссылочка на данный сайт  StandartSend.ru
    +
    0
    -
    Ответить
    Поделиться
  • Кристина Охота
    1
    комментарий
    0
    читателей
    Кристина Охота
    3 недели назад
    Базу емайл-адресов лучше всего создавать через программу  standartsoft.ru/harvester. Удобный и понятный интерфейс.
    +
    -1
    -
    Ответить
    Поделиться
  • Cадзи Генпо
    0
    комментариев
    0
    читателей
    Cадзи Генпо
    2 месяца назад
    Комментарий был удален модератором
    +
    0
    -
    Ответить
    Поделиться
  • Гость-новый
    0
    комментариев
    0
    читателей
    Гость-новый
    6 месяцев назад
    Комментарий был удален модератором
    +
    0
    -
    Ответить
    Поделиться
  • Alexfd
    0
    комментариев
    0
    читателей
    Alexfd
    6 месяцев назад
    Комментарий был удален модератором
    +
    0
    -
    Ответить
    Поделиться
  • Гость-Перегость
    6 месяцев назад
    Чегой-то не зафункционировало это все дело
    +
    -1
    -
    Ответить
    Поделиться
  • Хочу все
    0
    комментариев
    0
    читателей
    Хочу все
    6 месяцев назад
    Комментарий был удален модератором
    +
    0
    -
    Ответить
    Поделиться
  • Александр Алексеев
    1
    комментарий
    0
    читателей
    Александр Алексеев
    6 месяцев назад
    Комментарий был удален модератором
    +
    0
    -
    Ответить
    Поделиться
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
SEOnews запустил «Юзабилити-лабораторию»
Марал Гаипова
127
комментариев
0
читателей
Полный профиль
Марал Гаипова - Гость, это не последний юзабилити-аудит, мы проводим его с "Ашманов и партнеры" каждый месяц. Следите за новостями)
Минусинск: Яндекс запускает алгоритм, пессимизирующий за SEO-ссылки
Андрей Панферов
1
комментарий
0
читателей
Полный профиль
Андрей Панферов - Всё реально, алгоритм минусинск работает, поговаривают что многие кинулись снимать ссылки а за быстрое снятие тоже придётся заплатить. Что делать и как жить дальше: www.ooo-oblaka.ru/minusinsk.htm
«Юзабилити-лаборатория»: принимаем заявки
Ольга Ульяшова
3
комментария
0
читателей
Полный профиль
Ольга Ульяшова - спасибо :-)
Как выйти из-под санкций Google? Боремся с мерами, принятыми вручную
Гость - Этот Реалвеб - бездарная конторка в плане поисковой оптимизации и разработка у них никакая, выезжают только на контекстной и медийной рекламе.
Типичные ошибки при продвижении интернет-магазинов
Roman Popov
13
комментариев
0
читателей
Полный профиль
Roman Popov - А Вам не приходило в голову, что анализ топа может приводить к неверной интерпретации данных? Потому что в Вашем случае это именно так - то, что в топе сидят документы с неуникальным описанием не показывает, что Яндексу все равно. Вывод неочевиден. Это показывает лишь то, что те, кто сделал уникальное описание не сделали всего остального, чтобы в этом топе оказаться. А сделали бы - оказались бы выше остальных с большой вероятностью через некоторое время.
Никита Андросов, Ingate: «В этот раз на интернет-индустрии кризис отразится негативнее, чем в 2008 году»
Максим Ляпцев
28
комментариев
0
читателей
Полный профиль
Максим Ляпцев - А вы можете отличить хороший дизайн от плохого? Хорошую верстку от плохой? Или, если вам будет проще - хорошую машину от плохой? Или вы инженер-конструктор чтобы критиковать ВАЗ?
Оптимизация фильтров в интернет-магазине
Алексей - Владислав, благодарю вас за развернутый ответ!
Топвизор запустил инструмент кластеризации ключевых слов
Дмитрий Удимов
24
комментария
0
читателей
Полный профиль
Дмитрий Удимов - Если речь была про мастер "Попробовать бесплатно" на главной, то уже починили. спасибо!
Веб-аналитика в подарок, или Аудит сайта как двигатель торговли
Настя Ощ
1
комментарий
0
читателей
Полный профиль
Настя Ощ - www.kolchakclub.ru/
Кто пострадал от Минусинска?
Гость - Да
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
479
Комментариев
374
Комментариев
285
Комментариев
263
Комментариев
171
Комментариев
127
Комментариев
123
Комментариев
97
Комментариев
97
Комментариев
80
Комментариев
67
Комментариев
63
Комментариев
60
Комментариев
55
Комментариев
55
Комментариев
53
Комментариев
52
Комментариев
45
Комментариев
44
Комментариев
44
Комментариев
43

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