Как организовать отправку писем на разные почты () Новый

Дополнение: formit или ajaxform

Есть форма она отправляет письма в ней есть radio, как в зависимости от радио отправлять почты на разные адреса
А если не выбрано то на адрес по умолчанию
например: Есть 3 получателя
Получатель 1
Получатель 2
Получатель 3
Если выбран первый отправлять на email1, второй на email2 и тд

[[!AjaxForm? 
&snippet=`FormIt` 
&form=`tpl.FormAjax` 
&hooks=`email`
&emailFrom=`no-reply@site.ru`
&emailSubject=`Заявка с  [[++site_url]]` 
&emailTo=`my@mail.ru`  
&validate=`name:required,phone:required` 
&validationErrorMessage=`В форме содержатся ошибки!` 
&successMessage=`Сообщение успешно отправлено` ]]
Поле формы
<input type="radio" name="sto[]" value="Отдел 1"
 [[!+fi.sto:FormItIsChecked=`Отдел  1`]]
> Отдел 1
<input type="radio" name="sto[]" value="Отдел 2"
[[!+fi.sto:FormItIsChecked=`Отдел  2`]]
> Отдел  2
<input type="radio" name="sto[]" value="Отдел  3"
[[!+fi.sto:FormItIsChecked=`Отдел 3`]]
> Отдел  3
01 сентября 2016, 16:12    topmarka   
1    524 0

Комментарии (24)

  1. Алексей Бгатов 01 сентября 2016, 16:21 # 0
    всё есть в доках — тык
    1. topmarka 01 сентября 2016, 16:54 # 0
      Видел это 2ой день не доеду никак, как правильно сделать
    2. topmarka 01 сентября 2016, 16:58 # 0
      emailUseFieldForSubject — Сюда вроде как надо рыть но не понимаю как
      1. Роман Садоян 01 сентября 2016, 17:02 # +1
        Скопирую код сюда:
        [[!FormIt?
           ...
           &emailTo=`[[+addressTo]]`
        ]]
        ...
        <select name="addressTo">
           <option value="john@doe.com" [[!+fi.addressTo:FormItIsSelected=`john@doe.com`]]>John</option>
           <option value="jane@doe.com" [[!+fi.addressTo:FormItIsSelected=`jane@doe.com`]]>Jane</option>
        </select>
        
      2. topmarka 01 сентября 2016, 17:08 # 0
        Вот так не правильно как я понимаю
        [[!FormIt?
           ...
           &emailTo=`[[+addressTo]]`
        ]]
        ...
        <input type="radio" name="sto[]" value="Отдел 1"
        [[!+fi.sto:FormItIsChecked=`Отдел 1`]]
        [[!+fi.addressTo:FormItIsChecked=`'otdel1@site.ru`]]
        
        > Отдел 1
        <input type="radio" name="sto[]" value="Отдел 2"
        [[!+fi.sto:FormItIsChecked=`Отдел 2`]]
        [[!+fi.addressTo:FormItIsChecked='otdel2@site.ru`]]
        > Отдел 2
        <input type="radio" name="sto[]" value="Отдел 3о"
        [[!+fi.sto:FormItIsChecked=`Отдел 3о`]][[!+fi.addressTo:FormItIsChecked=`otdel3@site.ru`]]
        > Отдел 3
        Или что типо такого, да?
        1. Роман Садоян 01 сентября 2016, 17:13 # +1
          Вот так:
          [[!FormIt?
             ...
             &emailTo=`[[+addressTo]]`
          ]]
          ...
          <select name="addressTo">
             <option value="otdel1@site.ru" [[!+fi.addressTo:FormItIsSelected=`otdel1@site.ru`]]>Отдел 1</option>
             <option value="otdel2@site.ru" [[!+fi.addressTo:FormItIsSelected=`otdel2@site.ru`]]>Отдел 2</option>
          </select>
          1. topmarka 01 сентября 2016, 17:15 # 0
            А если у меня radio, а не select и оно еще другой параметр передает и если не выбрано не какое чтобы на адрес по умолчанию уходило
            И еще addressTo надо где-то TV создавать?
            1. Роман Садоян 01 сентября 2016, 17:20 # 0
              [[!FormIt?
                 ...
                 &emailTo=`[[+addressTo]]`
              ]]
              ...
              
               <input type="radio" name="addressTo" value="otdel1@site.ru" [[!+fi.addressTo:FormItIsSelected=`otdel1@site.ru`]]> Отдел 1
                <input type="radio" name="addressTo" value="otdel2@site.ru" [[!+fi.addressTo:FormItIsSelected=`otdel2@site.ru`]]> Отдел 2
              
              Помоему даже value может быть любым.
              1. topmarka 01 сентября 2016, 17:34 # 0
                Не работает!
                1. Роман Садоян 01 сентября 2016, 17:35 # +1
                  Полный код в студию.
                  1. topmarka 01 сентября 2016, 18:21 # 0
                    Поможете?
        2. topmarka 01 сентября 2016, 17:10 # 0
          Или input обязательно с addressTo должен быть?
          1. topmarka 01 сентября 2016, 17:43 # 0
            [[!AjaxForm? 
            &snippet=`FormIt` 
            &form=`tpl.FormAjax-5` 
            &hooks=`email`
            &emailFrom=`no-reply@site.ru`
            &emailSubject=`Запись на обслуживание с сайта [[++site_url]]`
            &emailTo=`[[+addressTo]]`  
            &validate=`name:required,phone:required` 
            &validationErrorMessage=`В форме содержатся ошибки!` 
            &successMessage=`Сообщение успешно отправлено` ]]
            tpl.FormAjax-5 далее
            <form action="" method="post" class="form ajax_form af-form form-5">
            <div class="title-form">Запись</div>
            		 <div class="form-group form-group-check">
            <label>Выберете станцию:
            [[!+fi.error.sto]]
            </label>
            <input type="radio" name="addressTo" value="mail1@mail.ru"
            [[!+fi.addressTo:FormItIsChecked=`mail1@mail.ru`]]> mail1@mail.ru
            <input type="radio" name="addressTo" value="mail1@mail.ru"
            [[!+fi.addressTo:FormItIsChecked=`mail2@mail.ru`]]> mail1@mail.ru
            <input type="radio" name="addressTo" value="mail3@mail.ru"
            [[!+fi.addressTo:FormItIsChecked=`mail1@mail.ru`]]> mail3@mail.ru</div>
                <div class="form-group form-group-50">
                    <label class="control-label" for="af_name">[[%af_label_name]]</label>
                    <div class="controls">
                        <input type="text" id="af_name" name="name" value="[[+fi.name]]" placeholder="Иванов Иван" class="form-control"/>
                        <span class="error_name">[[+fi.error.name]]</span>
                    </div>
                </div>
               	<div class="form-group form-group-50">
                    <label class="control-label" for="af_phone">[[%af_label_phone]]</label>
                    <div class="controls">
                        <input type="text" id="af_phone" name="phone" value="[[+fi.phone]]" placeholder="+79101234567" class="form-control"/>
                        <span class="error_email">[[+fi.error.phone]]</span>
                    </div>
                </div>
                <div class="form-group submit-group">
                    <div class="controls">
                        <button type="reset" class="btn btn-default">[[%af_reset]]</button>
                        <button type="submit" class="btn btn-primary">[[%af_submit]]</button>
                    </div>
                </div>
            
                [[+fi.success:is=`1`:then=`
                <div class="alert alert-success">[[+fi.successMessage]]</div>
                `]]
                [[+fi.validation_error:is=`1`:then=`
                <div class="alert alert-danger">[[+fi.validation_error_message]]</div>
                `]]
            </form>
            1. Роман Садоян 01 сентября 2016, 22:41 # +1
              А вообще почту то отправляет с сайта?
              1. topmarka 01 сентября 2016, 23:06 # 0
                Да если 1 почту пишешь все работает в emailto=«site@mail.rru»
                1. Роман Садоян 01 сентября 2016, 23:12 # +1
                  Ошибку в логах пишет или просто отправляет куда-то не туда? (если по коду выше).
            2. topmarka 01 сентября 2016, 18:06 # 0
              Ребят помогите очень надо!
              1. topmarka 01 сентября 2016, 18:20 # 0
                И для чего [[!+fi.color:FormItIsChecked=`red`]]
                Если значение все равно из value берется
                1. topmarka 01 сентября 2016, 22:37 # 0
                  ПОМОГИТЕ ПОЖАЛУЙСТА!!! Скажите хоть куда копать
                  НАпример если задача такая: Есть синий цвет красный и зеленый
                  При выборе разного цвета отправлять на разные почты письма
                  1. Александр 02 сентября 2016, 00:35 # +2
                    Скорее всего решение по вашей задаче в этом примере
                    1. topmarka 02 сентября 2016, 09:44 # 0
                      Да спасибо! Оно!
                      1. topmarka 02 сентября 2016, 09:45 # 0
                        Вопрос recipent, его просто как снипет создать, да?
                        1. topmarka 02 сентября 2016, 10:44 # 0
                          Получилось, но призходит, только когда 1 почта, когда две нет! Как несколько почт вписать
                          1. topmarka 02 сентября 2016, 13:12 # 0
                            Подскажите как несколько пот вписать
                        Вы должны авторизоваться, чтобы оставлять комментарии.