Список рассылки подписчиков PHP
Мне нужно создать список рассылки для сайта выпускников, который я создаю. Ниже я хотел бы, чтобы список рассылки в идеале функционировал.
Пользователь
Пользователь будет заходить на веб-сайт, вводить свой адрес электронной почты (и, возможно, имя / фамилию) в поле (поля), нажимать кнопку "Подписаться" и затем получать сообщение с подтверждением (с помощью всплывающего окна, перенаправления или сообщения электронной почты).,
Менеджер сайта
Каждый адрес электронной почты (и имя), который успешно подписался, будет скомпилирован в текстовый документ на сервере или групповой адрес электронной почты. Затем менеджер может либо войти в систему с паролем администратора, чтобы отправить массовое электронное письмо в список подписчиков (например, http://justincross.net/stuff/join2.php), либо администратор может просто отправить список по электронной почте из G- Почтовый аккаунт.
Кто-нибудь знает, как это сделать эффективно? В течение нескольких дней я искал учебник / шаблон, но те немногие, что я пробовал, похоже, либо сломаны, либо используют mySQL (что я предпочел бы не делать).
Заранее спасибо!
2 ответа
Используйте это: http://www.phplist.com/.. лучший на рынке и очень адаптивный!
Способ базы данных, действительно, лучший. Если вы предпочитаете использовать текстовый файл, я бы предложил что-то вроде этого:
Вставка данных в файл
$email = "the email";
$firstName = "the first name";
$lastName = "the last name";
$new_line = "$email|$firstName|$lastName\n"; // | could be other character
$file = fopen("subscribers.txt", "a");
fputs($file, $new_line);
fclose($file);
Чтение и анализ данных
$subscribers = array();
$handle = @fopen("subscribers.txt", "r");
if ($handle) {
while (!feof($handle)) {
$line = fgets($handle, 4096);
//parsing the line
$ar = explode('|', $line);
//$ar[0] holds the email
if(key_exists(0, $ar)){
$email = $ar[0];
}else{
$email= '';
}
//$ar[1] holds the first name
if(key_exists(1, $ar)){
$firstName = $ar[1];
}else{
$firstName = '';
}
//$ar[2] holds the last name
if(key_exists(2, $ar)){
$lastName = $ar[2];
}else{
$lastName = '';
}
$temp = array(
'email' => $email,
'firstName' => $firstName,
'lastName' => $lastName
);
$subscribers[] = $temp;
//
}
fclose($handle);
}
Для просмотра подписчиков и использования функции отправки электронной почты
foreach($subscribers as $subscriber){
//the email
$subscriber['email'];
//the firstname
$subscriber['firstName'];
//the lastname
$subscriber['lastName'];
}