Перейти к содержимому


Отправка писем группе пользователей


Сообщений в теме: 24

#1 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 10 Июнь 2014 - 12:07

Добрый день!
Такой вопрос,по отправке писем.
Делаем поле "Группа" с множественным выбором. Далее нажимаем на доп.действие "Отправить" - отправляются письма всем, кто находится в выбранных группах. Реально ли такое сделать?

#2 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 10 Июнь 2014 - 12:09

Просмотр сообщенияDinara (10 Июнь 2014 - 12:07) писал:

Добрый день!
Такой вопрос,по отправке писем.
Делаем поле "Группа" с множественным выбором. Далее нажимаем на доп.действие "Отправить" - отправляются письма всем, кто находится в выбранных группах. Реально ли такое сделать?
Вполне реально. Создаете шаблон в рассылках. Далее вычислением получаете список пользователей и отправляете всем. Если нужно вычисление, до конца дня напишу.

#3 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 10 Июнь 2014 - 15:37

Просмотр сообщенияwondertalik (10 Июнь 2014 - 12:09) писал:

Вполне реально. Создаете шаблон в рассылках. Далее вычислением получаете список пользователей и отправляете всем. Если нужно вычисление, до конца дня напишу.
Если не сложно будет))) Пока слабо представляю как это можно написать..а задача так то интересная конечно)))

#4 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 11 Июнь 2014 - 11:42

До конца какого дня?))))Не получается,да?

#5 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 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 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 11 Июнь 2014 - 12:58

Ув. разработчики, можно посмотреть на сигнатуру функции send_template?

#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 11 Июнь 2014 - 13:08

Просмотр сообщенияwondertalik (11 Июнь 2014 - 12:58) писал:

Ув. разработчики, можно посмотреть на сигнатуру функции send_template?

? Что за сигнатура функции, простите за невежество?

#8 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 11 Июнь 2014 - 13:24

Просмотр сообщенияCbCoder (11 Июнь 2014 - 13:08) писал:

? Что за сигнатура функции, простите за невежество?
аргументы. а есть ли более точный вопрос, возможно ли в вычислении выше вызывать не sendmail, а send_template, но только передавать принудительно емайл для отправки?

#9 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 11 Июнь 2014 - 14:32

http://clientbase.ru...?showtopic=5200

#10 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 11 Июнь 2014 - 15:01

Просмотр сообщенияCbCoder (11 Июнь 2014 - 14:32) писал:

то есть емейл свой передать я просто напросто не смогу? если его нет в поле той таблицы, в которой шаблон создан? Хочется адрес получателя иметь возможность указывать через вычисление, http://prntscr.com/3rr17s аналогично sendmail

Сообщение отредактировал wondertalik: 11 Июнь 2014 - 15:08


#11 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 11 Июнь 2014 - 15:20

Нет, не можете. Это отправка шаблона, а адресат, как известно, задается в его настройках. Поставьте туда вычисляемое поле и заполняйте его, если уж такая надобность.

#12 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 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 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 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 - айди поля, типа группа с множественным выбором.

С ПРОШЕДШИМ ДНЕМ РОЖДЕНИЯ!!))))) :) :rolleyes: ;)


Спасибо за вычисления,попробую сейчас)))))

#14 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 15 Июнь 2014 - 15:40

Вообще здорово,отправляется))
Понимаю что глупый вопрос конечно очень..Но как в таких случаях вставлять в BODY какое-либо поле из таблицы?
То есть в таблице заполняем поле "Текст" и его и отправляем как тело письма, или ту же самую тему)

#15 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 15 Июнь 2014 - 16:32

Просмотр сообщенияDinara (15 Июнь 2014 - 15:40) писал:

Вообще здорово,отправляется))
Понимаю что глупый вопрос конечно очень..Но как в таких случаях вставлять в BODY какое-либо поле из таблицы?
То есть в таблице заполняем поле "Текст" и его и отправляем как тело письма, или ту же самую тему)

$body =  <<< BODY_E
Тело письма, тут вставляете что хотите
BODY_E;

Замените на
$body = $line['Имя вашего поля'];


#16 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 16 Июнь 2014 - 11:14

Получилось,вообще здорово)))
И остался такой вопрос..а как можно указать отправителя? То есть вставлять значение из поля "Кто добавил"?

#17 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 16 Июнь 2014 - 11:19

sendmail($subject, $body, $row['e_mail']);

$row['e_mail'] - это и есть кому. Вместо этого ставите $line['user_id']. Но при такой конструкции смысл в коде выше не вижу.

Сообщение отредактировал wondertalik: 16 Июнь 2014 - 11:19


#18 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 16 Июнь 2014 - 12:22

Нет-нет, это не кому. А от кого письмо уходит. То есть сотрудник Иванов добавил эту запись (прописан в поле "Кто добавил") и он выбирает группы-кому должно отправляться. И вот когда уходит это письмо-внутри body автоматически проставялется значение из этого поля, чтобы было видно кто его написал..Как-то так)

#19 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 16 Июнь 2014 - 19:21

Просмотр сообщенияDinara (16 Июнь 2014 - 12:22) писал:

Нет-нет, это не кому. А от кого письмо уходит. То есть сотрудник Иванов добавил эту запись (прописан в поле "Кто добавил") и он выбирает группы-кому должно отправляться. И вот когда уходит это письмо-внутри body автоматически проставялется значение из этого поля, чтобы было видно кто его написал..Как-то так)
Используйте $user['fio']. Добавляете в боди как вам захочется.

#20 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 17 Июнь 2014 - 10:16

Все.больщущее спасибо!!))получилось))еще и файл добавила чтобы отправлялся-вообще красота теперь)Спасибо за подробные ответы и терпение)





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных