Поштове розсилання на PHP та MySQL. PHP Скрипт відкладеної розсилки листів Розсилка пошти php

Завантажити скрипт для організації e-mail маркетингу масового автоматичного розсилання листів на e-mail Lasto Post Woodpecker v5.01

Характеристика:

Скрипт не потребує бази даних MySQL та сервісу запуску програм за розкладом cron, а тому працює навіть на безкоштовних серверах. Кількість листів у серії може бути будь-яким обмеженням немає. Число незалежно працюючих служб нічим не лімітовано. Можливість створювати скільки завгодно різних серій e-mail розсилок, причому під кожну з них навіть не доведеться створювати свою директорію.
Прямо через Web-інтерфейс можна за лічені секунди додати новий лист у ту чи іншу розсилку, але лист має бути попередньо заготовлений, і це послання негайно почне свій шлях до всіх передплатників цієї служби, які раніше отримали повний комплект листів з даної серії.

Є можливість приточення графіки.
- Зручність адміністрування: адмінка докладно пише, що вона робить, і з яким саме файлом.
- «Розумна» поведінка сервісу: скрипт сам створює всі необхідні файли на сервері, а також керує ними, модифікуючи та видаляючи при потребі. Веде статистику та лог вжитих дій.
- Продумана адмінка: створити нову службуавтоматичного розсилання можна буквально парою кліків.
- Індивідуальний підхід до хостингу: залежно від умов, що висуваються хостером, є можливість керувати інтенсивністю e-mail трафіку (надсилати відразу багато листів, або малими порціями, але протягом усього дня). Деякі хостингові компанії не дозволяють надсилати більше одного листа на хвилину (захист від спамерства), але навіть у цьому випадку наш скрипт виконає своє призначення.
- Жодних вимог до знання РНР веб-майстром ресурсу не пред'являється. Хоча знати РНР корисно.

Удосконалення, що увійшли до другої версії:

Підключення Крона найпростішим способом.
- Розсилка повідомлення всім передплатникам цієї служби, або відразу кількох служб.
- Більш зручна адмінка (багатосторінковий висновок усіх звітів).
- Імпорт та експорт e-mail списків. Можливість імпорту баз e-mail з іменами користувачів (наприклад, відібраних у смартреспондера).

Удосконалення, що увійшли до третьої версії:

Реалізовано необмежену кількість атачів будь-якого формату.
- Удосконалено механізм імпорту списку email.
- Вбудований сервіс відновлення баз даних.
- Додано сервіс автоматичного резервування баз (бекап), що настроюється.
- Вбудований модуль отримання статистики про динаміку передплати.
- З'явилася можливість виключення конкретної e-mail-адреси зі всіх або деяких служб. Необхідно, коли на розсилку підписуються користувачі з неадекватною поведінкою.

Удосконалення, що увійшли до четвертої версії:

Користувач повинен підтвердити свою передплату - клікнути за спеціальним посиланням, яке прийшло на його e-mail. Якщо такого підтвердження не було, скрипт згодом нагадає про необхідність підтвердження підписки ще кілька разів.
- Веб-майстер може блокувати деякі поштові домени для передплати. Наприклад, поштовий сервер від Рамблера вважає листи багатьох авторозсилювачів спамом.
- Змінено алгоритм роботи із серійними листами.
- Тимчасове відключення скрипту не створить після його включення лавину листів, які повинні були бути відправлені до цього терміну - листи поважно і благородно підуть з інтервалом.
- Інтервал між кожними двома сусідніми листами однієї серії можна встановлювати довільним.
- Користувачі працюють лише з тимчасовою базою і не мають доступу до основної.
- Синхронізація баз здійснюється скриптом, і ніким більше.
- Повністю перероблено сервіс розсилок новин - це тепер самостійне завдання.
- Зроблено статистику з новинних розсилок - веб-майстер тепер бачить, у якій стадії знаходиться розсилка, загальна кількість листів, скільки відправлено, скільки залишилося.
- Введена можливість розсилки за розкладом (запуск розсилки новин після досягнення певної дати).
- Сендер має систему оповіщення веб-майстра про труднощі, що зустрілися в роботі. Якщо на сервері виникне якийсь збій, веб-майстер про це відразу дізнається з e-mail.
- Відписуватися від розсилки та підтверджувати передплату тепер можна через e-mail інтерфейс.
- При активації бекапу через Крон Ви матимете щоденну статистику за станом служб. Скрипт генеруватиме звіт і надсилатиме його прямо на Ваш e-mail.
- Розділ динаміки підписки доповнено графічними звітами.

Удосконалення, що увійшли до п'ятої (еволюційної) версії:

Введено захист від автоматичних програм, які використовуються хакерами для підбору логіну та паролю.
- До процесу авторизації додано додатковий етап генерації та передачі на e-mail адміну випадкового одноразового коду, без знання якого доступ до адмінки неможливий.
- Під час переходів між сторінками всередині адмінки більше не використовуються хеші логіна або пароля.
- Потрошення кеша браузера (або перехоплення трафіку) нічим Вам не загрожує щодо безпеки.
- Структура баз більше не визначена дефолтовими параметрами. Ви самі змінюєте метод шифрування спеціальним ключем, вбитим у код скрипта. У web-інтерфейсі ключ не видно і не може бути підглянуто або змінено.



Програмні забезпечення розміщені у нас на сайті ви можете завантажити абсолютно безкоштовно, ми не несемо відповідальності і не гарантуємо, що воно відповідає вашим вимогам, і перебувати в робочому стані, в більшості випадків воно вимагатиме налаштувань та виправлень. Виправлення помилок у його роботі, встановлення на хостинг, налаштування у наші обов'язки не входить і проводиться за окрему оплату послуг нашого програміста.

Інтернет має багато безкоштовних сервісів. У тому числі й послуги з розсилки листів передплатникам. Деякі з них дуже гарні. Але якщо вони безкоштовні, значить тут же в листах з'являється реклама. Та й чималі форми для підписки з логотипом представника послуг багатьох не влаштовують.

То чому б не написати простенький движок для своєї розсилки і надсилати листи самотужки?

Давайте розберемося, що нам для цього буде потрібно. Для того, щоб відвідувачі мали можливість підписатися на вашу розсилку, необхідна форма для введення адреси. електронної пошти. Після введення адресу слід запам'ятати. Давайте адреси зберігатимемо у файлі maillist.txtза однією адресою в рядку. Після того, як адреса буде збережена, давайте виведемо відповідне повідомлення і відобразимо форму для підписки ще однієї адреси або видалення існуючої. Ось майже і все. Залишилося додати лише можливість надсилання листів. Для безпеки, давайте на можливість відправлення листів поставимо пароль – необхідна форма для введення пароля. Далі будуть потрібні форми для заповнення адреси відправника та теми, а також для самого тексту. Ну і, нарешті, сам скрипт, який надсилатиме листи. А тепер усе гаразд.

Форма для введення адреси електронної пошти складатиметься лише з вікна для введення адреси та кнопки для підтвердження:



!}

Отже, у вікні для введення тексту, з ім'ям email та видимою довжиною 30 символів, буде вводитися адреса електронної пошти. Після натискання на кнопку з написом підписатися, адреса буде передана скрипту ras.phpдля занесення до бази розсилки.

Далі давайте розглянемо скрипт ras.phpякий зберігатиме адресу пошти у файлі, виводитиме повідомлення про результат та форми для передплати та відписки. Скрипт можна виконати дуже просто - зберегти адресу, вивести відповідне повідомлення. Але можуть виникнути проблеми: хтось може випадково підписатися кілька разів, хтось може допустити друкарську помилку і внесли в поле адреси неприпустимий символ або навмисне ввести біліберду. У такому випадку база розсилки буде забруднюватися, а неправильні адреси призводитимуть до помилок у роботі скрипту. Висновок зрозумілий - перед збереженням адреси слід перевірити її на відповідність стандартам імен електронних адрес. поштових скриньок, а також на наявність у базі розсилки. Для того щоб не розглядати код частинами, я дам коментарі в самому коді:

$file = " maillist.txt"; // файл, що містить адреси

error_reporting(0); // забороняємо виведення повідомлень про можливі помилки

Function test_mail($char ) // функція, що перевіряє реальність адреси
{
$flag = false;
if(eregi("^[_\.0-9a-z-]+@([-0-9a-z\.]+)\.((2,3)$)", $char )) $flag = true;
if ($flag ) return true;
else return false;
}

$ email = trim (strtolower ($ email)); // Отримуємо введений в
// форму адресу з
// Символами в нижньому регістрі

Function copy_mail($char ) // перевіряємо, чи є така адреса в базі
{
$file = " maillist.txt";
$ List = file ($ file);
for ($i = 0; $i< sizeof ($list ); $i++ )
if ($char == trim($list [$i ])) $flag = true;

If ($flag ) return true;
else return false;
}

Echo "

";

If (is_file($file )) // далі перевіряємо адресу вищеописаними функціями
{
$maillist = file($file);
if (!$email == "") (
if (test_mail($email )) (
if (!copy_mail($email ))
{
$maillist = "\n$email";
print "E-mail: $email додано базу розсилки

";
}
else print "E-mail: $email вже є в базі";
}
else print "E-mail: $email не існує";
}
else print "";
}
else print "Не знайдено файл $file! Будь ласка повідомтемені про помилку.";
// Виводь на екран форму з пропозицією передплати та відписки
echo "
Підписатися на розсилку
";
echo "Введіть mail:
";

Echo "



";
echo "Відписатися від розсилки
Введіть mail:";
echo "
";
// якщо користувач вирішив відписатися - видаляємо введенийадреса
$flag = false;
$fw = fopen($file , " w");
for ($i = 0; $i< sizeof ($maillist ); $i++ )
if (trim(strtolower($delmail )) == trim(strtolower($maillist [$i ])))) (
if (!$delmail == "")
{
print "
$delmail видалено з бази розсилки
";
$flag = true;
}
}
else fputs($fw, $maillist [$i]); // Введеної адреси в базі немає
fclose($fw );
if (!$delmail == "")
if (!$flag ) print "
$delmail не знайдено в базі розсилки
";
?>

Ось наш код збереження та видалення адрес готовий. Тепер треба подбати про засоби надсилання пошти. Не будемо ж ми через Аутлук відсилати? Як уже говорилося, захистимо можливість відправлення паролем, який будемо вводити на спеціальній формі:




Поле для введення з іменем pass і буде служити для введення пароля. Після натискання на кнопку з написом увійти, пароль буде передано скрипту out.php:

$subject = "Розсилання мого сайту"; // Тема розсилки
$fromemail = "моє @ мило"; // Ваша адреса (для відповідей)
$file = " maillist.txt"; // Список адрес передплатників
$password = "secretpassword"; // Ваш пароль для розсилки

if ($pass == $password ) // якщо пароль ввели правильний
// то виводимо форму з полями для введення:
// адреса відправника, текст листа, тіло листа
// кнопку для відправлення
// після натискання на кнопку, передаємо дані скрипту
send.php
{
echo "
";
echo "адреса відправника

";
echo "тема листа
";
echo "
текст листа:
";
echo "
";
print " В базі ". sizeof($maillist) ."адрес

";
for ($i = 0; $i< sizeof ($maillist ); $i ++) print $maillist [$i ]. "
";
}
// якщо пароль неправильний - просимо ввести ще раз
else echo "
";

Залишилося розглянути лише один скрипт - той самий, який надсилатиме пошту:

$odr = "\n\n\n Для відмови від підписки скористайтеся посиланням\n";
$homepage = "http://адреса сайту/ras.php";

Error_reporting(0);
$subject = $HTTP_POST_VARS ["subject"];
$body = $HTTP_POST_VARS ["body"];
$subject = stripslashes($subject );
$body = stripslashes($body);

$file = " maillist.txt";
$maillist = file($file);

Print "В базі". sizeof($maillist ) ." адрес
";
for ($i = 0; $i< sizeof ($maillist ); $i ++)
{
#echo($maillist [$i ]."
");
mail($maillist [$i], $subject ,
$body ."$odr $homepag ?delmail=$maillist [$i ]",
"From: $fromemail ");
}
echo "Готово!";

Тут все просто: отримуємо значення, введені в попередню форму і в циклі відправляємо їх по черзі на кожну адресу.

Ось зовсім і нескладно! Тепер ви маєте потужний інструмент для ведення повністю власної розсилки. Немає більше для вас жодних правил. Що хочете, то й пишіть у своїй розсилці. Повна свобода за конфігурацією та зовнішнім виглядом форм для підписки.

Зрозуміло, цей код є лише мінімальним набором. Наприклад, за допомогою функції mail можна організувати собі повідомлення про нового передплатника, а передплатника про вдалу реєстрацію, розповісти більше про розсилку.

Зрозуміло, говорячи про повну свободу, я не в жодному разі не мав на увазі примусову підписку? або, простіше кажучи, спам. Якщо раптом хтось вирішить розсилати спам таким чином, то нехай врахує що на нього відразу почнуть скаржитися адміністрації хостингу. І неважливо платний хостинг, якщо адміністрація хостингу помітить подібні дії, вона анулює надання своїх послуг вам без відшкодування збитків. А з халявиними хостингами ще тугіше. По-перше, треба просити персональне дозволу в адміністрації для відкриття цієї функції, по-друге, зазвичай, стоїть ліміт один лист за хвилину. Так що панове спамери, обломайтеся:)

На такій веселій ноті й закінчимо.




Є ще питання чи щось незрозуміло - ласкаво просимо на наш

Вітаю Вас любі друзі!
Минулої статті я трохи зупинявся на гарячому питанні власний сервіс розсилок або скрипт розсилки. Тема справді гаряча, т.к. Smartresponder припиняє свою діяльність і більшість інтернет-користувачів шукає заміну. Рівних Smartresponder, на жаль, немає і ймовірно не буде! Розсилка або, як зараз модно називати, Email-маркетинг - найефективніший інструмент ведення бізнесу. Якщо простіше, то не можна просувати якийсь бренд без збору людей, кому цікава Ваша тема, без розсилки. Щоб збирати аудиторію зацікавлених та вести їх на тему, потрібен сервіс поштових розсилок, сервіс для масового розсилання листів. У минулій статті, точніше у ролику я показав і зробив маленький огляд майданчиків, які пропонують свої послуги з розсилки. Пропозицій багато і ОСЬ ТУТ починається головоломка і особливо у початківців. Цінники високі, а там, де ціна більш-менш доступна – безліч незручностей. Іноді послуги приховують реальну вартість, тобто. заявляють низькі тарифи і тим самим намагаються залучити більшу кількість користувачів з подальшою метою розкрутити на гроші. І так, дія перша: Ви повелися на дешевизну чи іншу вигідну пропозицію.

Відкриваєте обліковий запис, переносите базу, переробляєте всі сторінки захоплення, виправляєте посилання у статтях на своїх сайтах, редагуєте по можливості всі записи, продукти, де були форми (посилання) на передплату. Одним словом, робите пекельну роботу. Ви вплуталися в роботу з новим поштовим майданчиком і тут починається найцікавіше. Дія друга: сервіс поштової розсилки, проводячи рекламну компанію, розраховує на незнання та неуважність користувачів інтернету. Ви надсилаєте листа по базі, готуєте друге… Виявляється, Ви вже не можете розіслати друге послання через те, що Ваш тарифний план вже вичерпав свої можливості. Виявляється, що в описі тарифного плану дуже дрібно було написано кількість можливого надсилання листів. Під дешевизною ховаються обмеження відправок або ліміт листів. Щоб надіслати черговий лист, Вам необхідно докупити кількість відправок, а це вже непередбачені витрати. У результаті Вас черговий раз отримали. Особисто не зміг знайти гідний сервіс поштових розсилки: або цінник, або функціонал з набором інструменту, або англійська мова, або ручна модерація кожного листа, або …. Але найнебезпечніше – можливість просто втратити базу, яку довго й наполегливо збирав.
Давно замислювався над темою «власний сервіс розсилок». Поки був Смарт, тема не гріла. Почав шукати скрипти. Почав із BOX-MAIL, потім Вихухоль чи поштовий Дятел, спробував парочку плагінів. АЛЕ, попрацювавши, зрозумів, що створити власний сервіс розсилок на звичайному хостингу не реально. Ви знаєте, що активізувалася робота СПАМЕрів і в інтернет з'явилася маса речей, що перешкоджають цій незаконній діяльності. Від цього страждають насамперед сумлінні люди, які на законних підставах намагаються вести розсилку законно зібраною базою. Провайдери запровадили квоти на поштовий трафік. 100-500 листів на день не можуть забезпечити масове розсилання листів. Надсилання Вашої «термінової новини» може зайняти досить пристойний час, тобто. Ваша новина для кінця списку Вашого підписного листа вже не буде актуальною! Висновок (моя думка) – масове розсилання зі звичайних хостингів не є актуальним. Ось тут згадав про скрипт MailWizz, який потрапив до мене кілька років тому і навіть тестував його. Але тоді був Смарт! Вартість виділених серверів тоді була досить високою – роботи були спочатку припинені, а потім взагалі про існування скрипту просто забув. Згадав лише тоді, коли життя настало на горло. Довелося витратити час на збирання інформації. Особливості Нашого бізнесу – огорнути щось корисне таємницею. Крім огляду панелі знайти нічого не вдалося. Сам скрипт англійською – потрібен був русифікатор. Досвід є, достатньо знань – проблема вирішилася. І ось сервіс власної розсилки налаштований і працює. Як він працює, краще подивитися ролик:


І так переваги власного сервісу розсилок:

— незалежність і можливість бути господарем становища. Хочу відправляю, хочу не відправляю.
- Необмежену кількість листів
- Чудовий набір інструменту


- простота роботи та зручна панель навігації


- Просте встановлення та легкість налаштування
- Економія. Заплатив раз і користуєшся все життя.

Кожен робить сам власний вибір. Головне – не слід забувати, що база – це ВСЕ! Що наш заробіток залежить від підписного листа - Чим більше передплатників, тим більше ми заробляємо. Тема чи ніша нашої діяльності у своїй не впливає першорядність наявності бази.

Інтернет має багато безкоштовних сервісів. У тому числі й послуги з розсилки листів передплатникам. Деякі з них дуже гарні. Але якщо вони безкоштовні, значить тут же в листах з'являється реклама. Та й чималі форми для підписки з логотипом представника послуг багатьох не влаштовують.

То чому б не написати простенький движок для своєї розсилки і надсилати листи самотужки?

Давайте розберемося, що нам для цього буде потрібно. Для того, щоб відвідувачі мали можливість підписатися на вашу розсилку, необхідна форма для введення адреси електронної пошти. Після введення адресу слід запам'ятати. Давайте адреси зберігатимемо у файлі maillist.txt за однією адресою в рядку. Після того, як адреса буде збережена, давайте виведемо відповідне повідомлення і відобразимо форму для підписки ще однієї адреси або видалення існуючої. Ось майже і все. Залишилося додати лише можливість надсилання листів. Для безпеки, давайте на можливість відправлення листів поставимо пароль - необхідна форма для введення пароля. Далі будуть потрібні форми для заповнення адреси відправника та теми, а також для самого тексту. Ну і, нарешті, сам скрипт, який надсилатиме листи. А тепер усе гаразд.

Форма для введення адреси електронної пошти складатиметься лише з вікна для введення адреси та кнопки для підтвердження:


Отже, у вікні для введення тексту, з ім'ям email та видимою довжиною 30 символів, буде вводитися адреса електронної пошти. Після натискання на кнопку з написом підписатися, адреса буде передана скрипту ras.php для занесення до бази розсилки.

Далі давайте розглянемо скрипт ras.php який буде зберігати адресу пошти у файлі, виводити повідомлення про результат та форми для передплати та відписки. Скрипт можна виконати дуже просто - зберегти адресу, вивести відповідне повідомлення. Але можуть виникнути проблеми: хтось може випадково підписатися кілька разів, хтось може допустити друкарську помилку та ввести в поле адреси неприпустимий символ. У такому разі база розсилки буде забруднюватися, а невірні адреси призводитимуть до помилок у роботі скрипту. Висновок - перед збереженням адреси слід перевірити її на відповідність стандартам імен адрес електронних поштових скриньок, а також на наявність у базі розсилки. Для того щоб не розглядати код частинами, я дам коментарі в самому коді:

$file = "maillist.txt"; // Файл, що містить адреси error_reporting(0); // забороняємо виведення повідомлень про можливі помилки \.]+)\.((2,3)$)/", $char)) return true; return false; ) // отримуємо введену у форму адресу з символами в нижньому регістрі $email = trim(strtolower($email) )); function copy_mail($char) // перевіряємо, чи є така адреса в базі (global $file; $list = file($file); for ($i = 0; $i< sizeof ($list); $i++) if ($char == trim($list[$i])) return true; return false; } echo "

"; if (is_file($file)) // далі перевіряємо адресу вищеописаними функціями ( $maillist = file($file); if (!$email == "") ( if (test_mail($email))) ( if (! copy_mail($email)) ( $maillist = "\n$email"; print "E-mail: $email додано базу розсилки
"; ) else print "E-mail: $email вже є в базі"; ) else print "E-mail: $email не існує"; ) else print ""; ) else print "Не знайдено файл $file! Будь ласка повідомтемені про помилку.// виводимо на екран форму з пропозицією передплати та відписки echo "
Підписатися на розсилку
"; echo "Введіть mail:
"; echo"


"; echo "Відписатися від розсилки
Введіть mail:"; echo "
// якщо користувач вирішив відписатися - видаляємо введену адресу $flag = false; $fw = fopen($file, "w"); for ($i = 0; $i< sizeof ($maillist); $i++) if (trim(strtolower($delmail)) == trim(strtolower($maillist[$i]))) { if (!$delmail == "") { print "
$delmail видалено з бази розсилки
"; $flag = true; ) ) else fputs($fw, $maillist[$i]); // введеної адреси в базі немає fclose($fw); if (!$delmail == "") if (!$ flag) print "
$delmail не знайдено в базі розсилки
";

Ось наш код збереження та видалення адрес готовий. Тепер треба подбати про засоби надсилання пошти. Не будемо ми через Outlook відсилати!?. Як уже говорилося, захистимо можливість відправлення паролем, який будемо вводити на спеціальній формі:


Поле для введення з іменем pass і буде служити для введення пароля. Після натискання на кнопку з написом увійти пароль буде передано скрипту out.php:

$subject = "Розсилання мого сайту"; // Тема розсилки $ fromemail = "моє @ мило"; // Ваша адреса (для відповідей) $file = "maillist.txt"; // Список адрес передплатників $password = "secretpassword"; // ваш пароль для розсилки if ($_POST["pass"] == $password) // якщо пароль ввели правильний // виводимо форму з полями для введення: // адреса відправника, текст листа, тіло листа // кнопку для відправлення // після натискання на кнопку, передаємо дані скрипту send.php (echo "


" echo "адреса відправника

" echo "тема листа
"; echo"
текст листа:
"; echo"
"; print" В базі ". sizeof($maillist) ."адрес

"; for ($i = 0; $i< sizeof ($maillist); $i++) print $maillist[$i]. "
"; ) // якщо пароль неправильний - просимо ще раз ввести else echo "
";

Залишилося розглянути лише один скрипт - той самий, який надсилатиме пошту:

$odr = "\n\n\n Для відмови від підписки скористайтеся посиланням\n"; $homepage = "http://адреса сайту/ras.php"; error_reporting(0); $subject = $HTTP_POST_VARS["subject"]; $body = $HTTP_POST_VARS["body"]; $subject = stripslashes($subject); $body = stripslashes($body); $file = "maillist.txt"; $maillist = file($file); print "В базі". sizeof($maillist) ." адрес
"; for ($i = 0; $i< sizeof ($maillist); $i++) { #echo($maillist[$i]."
"); mail($maillist[$i], $subject, $body ."$odr $homepag?delmail=$maillist[$i]", "From:<$fromemail>"); ) echo "Готово!";

Тут все просто: отримуємо значення, введені в попередню форму і в циклі відправляємо їх по черзі на кожну адресу.

Copyright by Владислав Путяк http://ua-coding.com/ . Зміни та доповнення

PHP Newsletter – це інструмент email-маркетолога для організації e-mail розсилок з Вашого сайту, будь-якої інформації. Скрипт зручний у використанні, простий в установці, універсальний у налаштуванні та з мінімальними вимогами з хостингу. PHP Newsletter написаний на PHP , має безліч корисних функцій і можливостей, такі як створення списку розсилок з сортуванням за категоріями, візуальний редактор шаблонів листів, розсилка листів із вкладенням, розсилка через SMTP сервер, імпорт/експорт бази електронних адрес пошти, керування передплатниками, автореспондер розсилки, статистика з розсилки та багато іншого для email-маркетолога.
Вимога

PHP 5.3 і вище
- база даних MySQL 4.1 і вище
- Mail()
- Iconv
- MB String
- Zip

Можливості

PHP Newsletter має все необхідне для створення, розсилки та відстеження E-mail розсилок. Включає функції:

  • Зручний редактор WYSIWYG

Вбудований WYSIWYG редактор дозволяє створювати та редагувати шаблони листів. Ви можете форматувати текст, завантажувати та вставляти зображення, додавати посилання та багато іншого.

  • Розсилка листів через smtp сервер, mail() і sendmail

PHP Newsletter може проводити розсилку листів як через стандартну php функцію mail(), так і через smtp сервер, використовуючи сокети або агентів передачі пошти sendmail;

  • Автореспондер

Ви можете формувати списки розсилок, які будуть автоматично розсилатися в заданому порядку за розкладом. Все, що потрібно, це налаштувати крон і створити список розсилки.

  • Форма підписки на розсилку з можливістю відписки

PHP Newsletter дозволяє створювати форми для передплати та відписки на розсилку. Форму можна додати на свій сайт, для цього розмістіть html код форми у себе на сайті.

  • Вибір формату розсилки (plain та html)

Ви можете створювати привабливі HTML листи або звичайні текстові повідомлення електронної пошти за допомогою вбудованого редактора шаблону листів.

  • Підтримка більшості відомих кодувань

PHP Newsletter підтримує понад 35 різних національних кодувань.

  • Додавання та відправлення вкладення

Скрипт включає повну підтримку для завантаження та відправлення вкладень.

  • Додавання до розсилки стандартних заголовків Precedence(bulk, junk або list) та list-unsubscribe

Для виключення попадання ваших листів до спаму, рекомендується в поштових розсилках додавати заголовки Precedence (bulk, junk або list) та list-unsubscribe.

  • Додавання DKIM підпису до заголовка листа

Для підвищення якості класифікації та ідентифікації легітимної електронної пошти, засоби PHP Newsletter дозволяє додавати DKIM-підпис (технологія посвідчення автентичності відправника листа за допомогою додавання цифрового підпису, пов'язаного з ім'ям домену) у заголовки листів, що відправляються.

  • Персоналізація листів

Персоналізація листів - це один із найефективніших способів справити гарне перше враження на одержувача розсилки, тому що за статистикою персоналізовані листи частіше відкриваються та прочитуються. Додати до шаблону листа тег NAMEі воно автоматично замінюватиметься на ім'я передплатника.

  • Створення необмеженого списку розсилки
  • Управління списком передплатників

Через веб-інтерфейс, ви можете керувати списком передплатників: переглядати, додавати, редагувати та видаляти передплатників.

  • Імпорт/експорт адрес електронної пошти

PHP Newsletter надає інструмент для імпорту та експорту адрес електронної пошти. Ви можете імпортувати дані зі звичайного текстового або MS Excel файлу, а також експортувати дані до текстового та MS Excel файлу.

  • Журнал розсилки

За кожною розсилкою введеться докладна статистика щодо кількості надісланих та ненаправлених листів. Також ви можете отримати інформацію, скільки користувачів відкрило листи. Крім цього, Ви можете експортувати статистику до MS Excel файл.

  • Веб-інтерфейс з адміністратора

Для роботи та керування розсилкою, Вам надається зручна та досить проста в роботі панель адміністратора, доступна через веб-інтерфейс. Велика кількість налаштувань дозволить вам швидко "заточити" систему за вашими вимогами.

  • Майстер установки

Установка легко запускається з веб-браузера. Потрібно ввести доступ до бази даних і продовжити інсталяцію, а майстер установки здійснить всі необхідні дії.

Нововведення версії 4.1.x

Встановлення

  • Розпакуйте дистрибутив у будь-який каталог вашого веб-сайту, наприклад, у "/phpnewsletter". Можна встановлювати в корінь;
  • Запустіть майстер установки, для цього наберіть у браузері: http://ваш_сайт/пака_с_скриптом/install/;
  • Після інсталяції видаліть каталог "/phpnewsletter/install/".

*Якщо з яких-небудь причин Вам не вдалося зробити інсталяцію з майстра установки, Ви можете встановити вручну скрипт.

  • Розмістіть таблиці бази даних MySQL SQL-запиту з файлу dump.sql. Це простіше зробити за допомогою web-інтерфейсу, наприклад, через phpMyAdmin, який надається більшістю хостинг провайдерами.

Після того, як Ви розмістили таблиці в базі даних, відкрийте у будь-якому текстовому редакторі файл config/default.config.php та пропишіть параметри підключення до бази даних MySQL. де $PNSL["config"]["db"]["host"] – адреса сервера MySQL, $PNSL["config"]["db"]["name"] – ім'я бази даних, $PNSL["config "]["db"]["user"] – ім'я користувача, $PNSL["config"]["db"]["passwd"] – пароль. Збережіть під ім'ям config.php Для входу в адмінку введіть пароль 1111

Налаштування

  • Додати на web-сторінку форму підписки на розсилку
$url = "http://ваш_сайт/phpnewsletter/?task=subform""; $get_content = file($url); $get_content = implode($get_content, "\r\n"); preg_match("/
(.*)<\/div>/isU", $get_content, $out); echo $out;
  • Для звичайних статичних веб-сторінок, вставте html код:
Ім'я
E-mail
  • Налаштування розсилки через smtp сервер

Щоб надсилати розсилку через smtp сервер, виконайте такі дії. Зайдіть до панелі адміністратора, далі в розділі "Налаштування" і в кладці "SMTP сервера вкажіть smtp сервер, логін, пароль і порт smtp сервера (за замовчуванням 25). Виберіть "Спосіб відправки" - SMTP сервер.

  • Налаштування надсилання листів через Mail.ru

E-mail адміністратора: [email protected]
Логін поштової скриньки: [email protected]
Пароль: qwerty
smtp сервер: smtp.mail.ru
Порт smtp сервера: 25
Метод аутентифікації: LOGIN

  • Налаштування надсилання листів через Gmail

E-mail адміністратора: [email protected]
Логін поштової скриньки: [email protected]
Пароль: qwerty
smtp сервер: smtp.gmail.com
Порт smtp сервера: 465

Метод аутентифікації: LOGIN
Спосіб відправлення: SMTP сервер

  • Налаштування надсилання листів через пошту Яндекс

E-mail адміністратора: [email protected]
Логін поштової скриньки: vasyapupkin
Пароль: qwerty
smtp сервер: smtp.yandex.ru
Порт smtp сервера: 465
Підключатися через безпечне з'єднання (SSL ): Так
Метод аутентифікації: LOGIN
Спосіб відправлення: SMTP сервер
Додати DKIM підпис

Для початку, Вам потрібно створити DKIM ключ. Скористаємося онлайн сервісом http://dkim.worxware.com/createkeys.php

У полі "Domain" вказуєте Ваш домен, а в полі "Identity" вказуєте адресу електронної пошти, яку Ви вказали налаштування PHP Newsletter, в "E-mail". Після того, як Ви заповнили всі поля форми, клацаємо на кнопку "Submit" Після чого має з'являтися посилання на zip архів. Клацаємо за цим посиланням, щоб завантажити архів собі на комп'ютер, а потім розпаковуємо його. У ньому повинні лежати 4 файли: .htkeyprivate (закритий ключ), .htkeypublic(відкритий ключ), DNS _resource_record.txt і PHPM ailer_code_plus_instructions.txt Копіюємо.htkeyprivate у веб-сервер в папку keyprivate.

Відкриваємо файл PHPMailer_code_plus_instructions.txt Далі заходимо в панель адміністрування, в розділ "Налаштування" в кладці "Параметри розсилки" в поля "Налаштування DKIM підпису" заповнюємо значення, які прописані в PHPMailer_code_plus_instructions.txt У полі "Підпис >DKIM_domain, у полі “Селектор” із $mail->DKIM_selector, у полі “ Ключове слово ” з $mail->DKIM_passphrase, а у полі “Підписана особа” адреса електронної пошти, яка вказана у Вас налаштуваннях в "E-mail" Ставимо галочку "Додати підпис DKIM у заголовок листа" і натискаємо "застосувати".

Це ще не все. Для того, щоб можна було підтвердити валідність сервера відправника за його записом DNS, необхідно додати DKIM до txt-запису в конфігурації DNS. Для цього Вам потрібно зайти в панель управління доменом (щоб зробити це, Ви повинні мати права адміністратора цього домену). Значення цього запису беремо із файлу DNS _resource_record.txt.

P.S. Додаткову інформацію про скрипт читайте у readme вихідника.



 

Можливо, буде корисно почитати: