Отправка писем группе пользователей
#1
Отправлено 10 Июнь 2014 - 12:07
Такой вопрос,по отправке писем.
Делаем поле "Группа" с множественным выбором. Далее нажимаем на доп.действие "Отправить" - отправляются письма всем, кто находится в выбранных группах. Реально ли такое сделать?
#2
Отправлено 10 Июнь 2014 - 12:09
Dinara (10 Июнь 2014 - 12:07) писал:
Такой вопрос,по отправке писем.
Делаем поле "Группа" с множественным выбором. Далее нажимаем на доп.действие "Отправить" - отправляются письма всем, кто находится в выбранных группах. Реально ли такое сделать?
#3
Отправлено 10 Июнь 2014 - 15:37
wondertalik (10 Июнь 2014 - 12:09) писал:
#4
Отправлено 11 Июнь 2014 - 11:42
#5
Отправлено 11 Июнь 2014 - 12:50
Dinara (11 Июнь 2014 - 11:42) писал:
$subject = "Тема письма"; $body = <<< BODY_E Тело письма, тут вставляете что хотите BODY_E; //Получаем выбранные группы $result = data_select_field(190, "`f5090` as groupsID", "`id` = ", $line['id'], " LIMIT 1"); $slct = sql_fetch_assoc($result); if(!empty($slct['groupsID'])) { //Парсим ответ и формируем массив групп. $idFromGroups = explode("-", mb_substr($slct['groupsID'], 1, mb_strlen($slct['groupsID']) - 2)); //получаем айди всех пользователей $sqlQuery = "SELECT `e_mail` FROM ".USERS_TABLE." WHERE `group_id` IN (".implode(", ", $idFromGroups).")"; $result = sql_query($sqlQuery); if(sql_num_rows($result) > 0) { while($row = sql_fetch_assoc($result)) { //Отправляем шаблон sendmail($subject, $body, $row['e_mail']); } } }
190 - айди таблицы, f5090 - айди поля, типа группа с множественным выбором.
#6
Отправлено 11 Июнь 2014 - 12:58
#10
Отправлено 11 Июнь 2014 - 15:01
CbCoder (11 Июнь 2014 - 14:32) писал:
то есть емейл свой передать я просто напросто не смогу? если его нет в поле той таблицы, в которой шаблон создан? Хочется адрес получателя иметь возможность указывать через вычисление, http://prntscr.com/3rr17s аналогично sendmailСообщение отредактировал wondertalik: 11 Июнь 2014 - 15:08
#11
Отправлено 11 Июнь 2014 - 15:20
#12
Отправлено 12 Июнь 2014 - 03:05
CbCoder (11 Июнь 2014 - 15:20) писал:
//Получаем выбранные группы $result = data_select_field(190, "`f5090` as groupsID", "`id` = ", $line['id'], " LIMIT 1"); $slct = sql_fetch_assoc($result); if(!empty($slct['groupsID'])) { //Парсим ответ и формируем массив групп. $idFromGroups = explode("-", mb_substr($slct['groupsID'], 1, mb_strlen($slct['groupsID']) - 2)); //получаем айди всех пользователей $sqlQuery = "SELECT `e_mail` FROM ".USERS_TABLE." WHERE `group_id` IN (".implode(", ", $idFromGroups).")"; $result = sql_query($sqlQuery); if(sql_num_rows($result) > 0) { while($row = sql_fetch_assoc($result)) { //Отправляем шаблон data_update(190, array("f3340" => $row['e_mail']), "`id` = ", $line['id']); send_template(11, "`id` =".$line['id']); } } }f3340 - нужно дополнительно создать поле, типа текст. В шаблоне его указывать как источник мыла.
#13
Отправлено 12 Июнь 2014 - 11:07
wondertalik (11 Июнь 2014 - 12:50) писал:
$subject = "Тема письма"; $body = <<< BODY_E Тело письма, тут вставляете что хотите BODY_E; //Получаем выбранные группы $result = data_select_field(190, "`f5090` as groupsID", "`id` = ", $line['id'], " LIMIT 1"); $slct = sql_fetch_assoc($result); if(!empty($slct['groupsID'])) { //Парсим ответ и формируем массив групп. $idFromGroups = explode("-", mb_substr($slct['groupsID'], 1, mb_strlen($slct['groupsID']) - 2)); //получаем айди всех пользователей $sqlQuery = "SELECT `e_mail` FROM ".USERS_TABLE." WHERE `group_id` IN (".implode(", ", $idFromGroups).")"; $result = sql_query($sqlQuery); if(sql_num_rows($result) > 0) { while($row = sql_fetch_assoc($result)) { //Отправляем шаблон sendmail($subject, $body, $row['e_mail']); } } }
190 - айди таблицы, f5090 - айди поля, типа группа с множественным выбором.
С ПРОШЕДШИМ ДНЕМ РОЖДЕНИЯ!!)))))
Спасибо за вычисления,попробую сейчас)))))
#14
Отправлено 15 Июнь 2014 - 15:40
Понимаю что глупый вопрос конечно очень..Но как в таких случаях вставлять в BODY какое-либо поле из таблицы?
То есть в таблице заполняем поле "Текст" и его и отправляем как тело письма, или ту же самую тему)
#15
Отправлено 15 Июнь 2014 - 16:32
Dinara (15 Июнь 2014 - 15:40) писал:
Понимаю что глупый вопрос конечно очень..Но как в таких случаях вставлять в BODY какое-либо поле из таблицы?
То есть в таблице заполняем поле "Текст" и его и отправляем как тело письма, или ту же самую тему)
$body = <<< BODY_E Тело письма, тут вставляете что хотите BODY_E;
Замените на
$body = $line['Имя вашего поля'];
#16
Отправлено 16 Июнь 2014 - 11:14
И остался такой вопрос..а как можно указать отправителя? То есть вставлять значение из поля "Кто добавил"?
#17
Отправлено 16 Июнь 2014 - 11:19
sendmail($subject, $body, $row['e_mail']);
$row['e_mail'] - это и есть кому. Вместо этого ставите $line['user_id']. Но при такой конструкции смысл в коде выше не вижу.
Сообщение отредактировал wondertalik: 16 Июнь 2014 - 11:19
#18
Отправлено 16 Июнь 2014 - 12:22
#19
Отправлено 16 Июнь 2014 - 19:21
Dinara (16 Июнь 2014 - 12:22) писал:
#20
Отправлено 17 Июнь 2014 - 10:16
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных