AAA Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Универсальная рассылка почты на PHP

Этот пример позволяет отправить почту по списку получателей, заданному в виде MySQL базы или по списку введенному в текстовое поле. Очень полезно для раззылки прайс-листов или приглашений на мероприятия, или информаирования о новых акциях.

Кому:
От:
Тема:
Сообщение:
СкрепкаФайл для вложения(<1Мб):

Во избежании злоупотреблений и рассылки спама сообщения из этого примера не отправляются!


Шаблоны:
{to} - ФИО.

mysql_connect("localhost", "root", "database");

if(isset($_POST['mes'])){
   set_time_limit(1000);
   $mes= $_POST['mes'];
   $subj=$_POST['subj'];
   if (empty($mes))die("Пустое сообщение!");
   $for=intval($_POST['for']);
   if($for==0)$add='';	// Всем
   elseif($for==1)$add='WHERE adm>0';	// Подтвердившим почту
   elseif($for==2)$add='WHERE adm>0 and rss>0';	// Согласным на рассылку
   elseif($for==3)$add='WHERE mail_ok=0';	// Не подтвердившим почту
   elseif($for==4)$add='WHERE adm=9';	// Админам
   elseif($for==5)$add="WHERE time<'".date("Y-m-d H:i:s",time()-60*60*24*30*2)."'";	// Не заходившим более 2х месяцев
   elseif($for==6)$add='WHERE id=1';	// мне
   else die("Не выбрана категория получателей!");

   $from=$_POST['from'];
   $body="<html><body>\n".str_replace("\n","<br>\n",str_replace("\r","",$mes))."\n</body></html>";	// сообщение всем
   $from="From: <".$from.">\nContent-Type: text/html; charset=windows-1251";
   $query = mysql_query('SELECT * FROM '.db_prefix.'users '.$add);
   $ret=0;
   while ($user=mysql_fetch_assoc($query)){
        $body1=str_replace('{to}', $user['name'], $body);
   	if(mail(trim($user['mail']), $subj, $body1, $from))
		{echo "Отправлено на <b>".$user['mail']."</b><br>\n"; $ret++;}}
   echo "Отправлено <b>".$ret."</b> сообщений!<br>\n";
}
?>

<form method="post" enctype="multipart/form-data" class="box" onsubmit='document.getElementById("sbt").disabled=true;'>
<select name='for'
	onChange='document.getElementById("to").style.display=this.options[this.selectedIndex].value=="10"?"block":"none"'>
<option value="0">Всем</option>
<option value="1">Подтвердившим почту</option>
<option value="2">Согласным на рассылку</option>
<option value="3">Не подтвердившим почту</option>
<option value="4">Админам</option>
<option value="5">Не заходившим более 2х месяцев</option>
<option value="6" selected>Только мне</option>
<option value="10">Список получателей</option>
</select><br>
<div id='to' style='display:none'>Кому: <textarea name="to" rows="10" style="width:100%"><?=@$to?></textarea></div>

От: <input name="from" VALUE="<?=@$_SESSION['user']['mail']?>" style="width:100%" /><br>
Тема: <input type=text name="subj" style="width:100%" value="<?=@$subj?>" /><br>

Сообщение:
<textarea name="mes" rows="5" style="width:100%"><?=@$mes?></textarea><br>
<input name='MAX_FILE_SIZE' type='hidden' value='1000000'>
Файл для вложения(&lt;1Мб): <input type='file' name='f' size=45>

<INPUT id="sbt" TYPE="SUBMIT" VALUE="Отправить" class="submitL" /><br>
</form>

<br><p>Шаблоны:<br>
{to} - ФИО.<br>
Список получателей задается в формате:<br>
"Мыло Имя"<br>или<br>Имя &lt;Мыло&gt; или только "Мыло"<br>

<br clear="all">

Создание базы данных пользователей:

mysql_query('CREATE TABLE IF NOT EXISTS users (
		id INT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT,
		name CHAR(12) NOT NULL,
		pass CHAR(32) NOT NULL,
		ip INT(10) UNSIGNED NOT NULL DEFAULT 0,
		mail CHAR(32) NOT NULL,
		mail_ok TINYINT UNSIGNED NOT NULL DEFAULT 0,
		rss TINYINT UNSIGNED NOT NULL DEFAULT 0,
		adm TINYINT UNSIGNED NOT NULL DEFAULT 0,
		uid INT UNSIGNED NOT NULL,
		log VARCHAR(12) NOT NULL,
		time DATETIME,
		tel VARCHAR(32) NOT NULL,
		PRIMARY KEY (name)
		) DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin');
1 В представленной версии скрипта этот функционал не реализован. Вы можете дописать его сами, используя примеры Вложение файла в почтовое сообщение

Всего за 250 рублей (~4$) Вы можете приобрести готовый скрипт рассылки, который поддерживает весь функционал. Код скрипта реализован на PHP, полностью открытый и не использует никаких дополнительных библиотек.

Регистрация Войти Войти через VK
При нажатии кнопки Оплатить и загрузить, Вы подтверждаете согласие с условиями использования скрипта, описанными на этой странице.
Вы будете перенаправлены на страницу выбора способа оплаты, после оплаты 250 рублей (~4$) начнется загрузка файла.
Чтобы мы не потеряли Вашу оплату при потере соединения, укажите Ваш действующий
адрес электронной почты
Сомневаетесь? Вы всегда сможете задать вопросы и получить помощь.


.

© Copyright 2008-2016 by KDG