Класс отправки E-mail

Тема в разделе "Как сделать...", создана пользователем clubmen, 18 июн 2014.

Статус темы:
Закрыта.
  1. clubmen

    clubmen

    Регистр.:
    18 янв 2010
    Сообщения:
    187
    Симпатии:
    30
    Доброго времени суток, прошу Вашей помощи. Как реализовать отправку почты определенному лицу.
    То есть у меня есть форма в этой форме есть выпадающий список. Нужно сделать так. Выбираю первый пункт из списка, письмо отправляется на одну почту. Выбираю второй пункт из выпадающего списка письмо уже уходит на другой адрес.

    У себя реализовал, но вот письмо постоянно уходит одному и тому же. Нужна помощь по коду. Спасибо
     
  2. _sokal_

    _sokal_

    Регистр.:
    25 дек 2009
    Сообщения:
    300
    Симпатии:
    139
    Код:
    <form action="" method="post" name="drop_down_box">
    <select name="mail" size="0">
    <option value="111@gmail.com">111@gmail.com</option>
    <option value="222@gmail.com">222@gmail.com</option>
    <option value="333@gmail.com">333@gmail.com</option>
    <option value="444@gmail.com">444@gmail.com</option>
    </select><br>
    <input name="submit" type="submit" id="submit" value="Отправить" />
    </form>
    <?
     $mail= $_POST["mail"];
     ?>
    А дальше $mail подстявляй в своё письмо.
     
    clubmen нравится это.
  3. clubmen

    clubmen

    Регистр.:
    18 янв 2010
    Сообщения:
    187
    Симпатии:
    30
    попробовал так и не завелось, ниже мой код. Буду благодарен за помощь.

    PHP:
    <?php

    if( ! defined'DATALIFEENGINE' ) ) {
        die( 
    "Hacking attempt!" );
    }

    if( isset( 
    $_POST['send'] ) ) {
    include_once 
    ENGINE_DIR '/classes/mail.class.php';
    $mail = new dle_mail$config );
    $tema "Заказ услуг";
    $server $_POST['server'];

    if(@
    $error){
        
    msgbox("Внимание, обнаружена ошибка"$error);
    }else{

    $test "
    Здравствуйте!
    На сайте была оформлена новая заявка!
    Город: "
    .$_POST['sity']."
    Улица: "
    .$_POST['street']."
    Дом: "
    .$_POST['dom']."
    № подъезда: "
    .$_POST['pod']."
    Этаж: "
    .$_POST['et']."
    № квартиры: "
    .$_POST['kvartira']."
    Ф.И.О.: "
    .$_POST['fio']."
    Контактный номер телефона: "
    .$_POST['telefon']."
    Пожелания: "
    .$_POST['message']."
    "
    ;



    $mail->send"mypochta@pochta.ru"$tema$test);
    msgbox("Спасибо""Благодарим Вас за заказ, он будет обработан в течении 24 часов.");
    }
    }



    $tpl->load_template'tv.tpl' );
    $tpl->copy_template "<form  method=\"post\" id=\"sendmail\" name=\"sendmail\" action=\"\">\n" $tpl->copy_template "<input name=\"send\" type=\"hidden\" value=\"send\" /></form>";
    $tpl->compile'content' );
    $tpl->clear();

    ?>
    И сам файл шаблона

    HTML:
    <style type="text/css">
    .tableform td {border-bottom:1px dotted #BBBBBB; padding:5px;}
    .tableform .impot {color:red;}
    </style>
    
                        <div class="news">
                            <div class="news-title">
                                <h3>Заявка на подключение</h3>
                            </div>
                            <div class="news-main">
                               
                               
                               
                                  <table class="tableform" width="100%">
        <tr>
          <td class="label">
            Выберите город:
          </td>
          <td><select name="sity" style="width:308px;">
    <option selected="selected" value="Город">Город</option>   
    <option selected="selected" value="Город2">Город2</option>
    <option selected="selected" value="Город3">Город3</option>
    <option selected="selected" value="Город4">Город4</option>
    <option selected="selected" value="Город5">Город5</option>
                            </select>
                            </td>
        </tr>
            <tr>
          <td class="label">
            Улица:
          </td>
          <td><input type="text" maxlength="45" name="street" class="f_input" /></td>
        </tr>
                <tr>
          <td class="label">
            Дом:
          </td>
          <td><input type="text" maxlength="45" name="dom" class="f_input" /></td>
        </tr>
                    <tr>
          <td class="label">
            № подъезда:
          </td>
          <td><input type="text" maxlength="45" name="pod" class="f_input" /></td>
        </tr>
                        <tr>
          <td class="label">
            Этаж:
          </td>
          <td><input type="text" maxlength="45" name="et" class="f_input" /></td>
        </tr>
                            <tr>
          <td class="label">
            № квартиры:
          </td>
          <td><input type="text" maxlength="45" name="kvartira" class="f_input" /></td>
        </tr>
        <tr>
          <td class="label">
            Ф.И.О.:
          </td>
          <td><input type="text" maxlength="45" name="fio" class="f_input" /></td>
        </tr>
        <tr>
          <td class="label">
            Номер телефона:
          </td>
          <td><input type="text" maxlength="45" name="telefon" class="f_input" /></td>
        </tr>
    
    
        <tr>
          <td class="label" valign="top">
          Комментарий и пожелания:
           </td>
          <td><textarea name="message" style="width: 307px; height: 100px" class="f_textarea" /></textarea></td>
        </tr>
      </table>
      <div style="background:#f9f6e7; border:1px solid #bead61; padding:4px; windth:400px; margin-top:4px; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px; margin-top:5px;">
        Поля, отмеченные <span style="color:#FF0000">*</span>, обязательны к заполнению
    </div>
    <br>
    <div class="regrow">
    <button name="send_btn" class="fbutton" type="submit"><span>Отправить заявку</span></button>                           
    </div>                           
                            </div>
                        </div>
    
     
  4. yaski

    yaski

    Регистр.:
    21 фев 2010
    Сообщения:
    474
    Симпатии:
    277
    PHP:
    <?  
        
    $sity $_POST["sity"];

            switch( 
    $sity )
            {
                case 
    'Город':
                {
                    
    $mail->send"mypochta1@pochta.ru"$tema$test);
                }
                case 
    'Город2':
                {
                    
    $mail->send"mypochta2@pochta.ru"$tema$test);
                }
                case 
    'Город3':
                {
                    
    $mail->send"mypochta3@pochta.ru"$tema$test);
                }
                case 
    'default':
                {
                    
    $mail->send"spam@pochta.ru"$tema$test);
                }          
                break;
            }
    как-то так
     
  5. _sokal_

    _sokal_

    Регистр.:
    25 дек 2009
    Сообщения:
    300
    Симпатии:
    139
    поменяйте html
    HTML:
    <td><select name="sity" style="width:308px;">
    <option selected="selected" value="mail1@gmail.com">Город</option> 
    <option selected="selected" value="mail2@gmail.com">Город2</option>
    <option selected="selected" value="mail3@gmail.com">Город3</option>
    <option selected="selected" value="mail4@gmail.com">Город4</option>
    <option selected="selected" value="mail5@gmail.com">Город5</option>
                            </select>
    и измените отправку
    PHP:
    $mail->send$_POST["sity"], $tema$test);
    при этом будут палиться email в исходном коде куда отправляется, но при необходимости добивать город просто вставитедополнительную строку в форму <option selected="selected" value="mail6@gmail.com">Город6</option>.

    или используйте вариант от yaskin2 но исправте на такое, иначе будут отправлять всем
    PHP:
    <?
        
    $sity $_POST["sity"];

            switch( 
    $sity )
            {
                case 
    'Город':
                {
                    
    $mail->send"mypochta1@pochta.ru"$tema$test);break;
                }
                case 
    'Город2':
                {
                    
    $mail->send"mypochta2@pochta.ru"$tema$test);break;
                }
                case 
    'Город3':
                {
                    
    $mail->send"mypochta3@pochta.ru"$tema$test);break;
                }
                case 
    'default':
                {
                    
    $mail->send"spam@pochta.ru"$tema$test);
                }        
                break;
            }
    , тагда не будет видны email палучателя письма, но допалнительно нужно будут при добавлении городов нужно будет допалнительно встявлять строку в switch
     
  6. yaski

    yaski

    Регистр.:
    21 фев 2010
    Сообщения:
    474
    Симпатии:
    277
    ну да break; забыл дописать. Но суть понятна.
     
Статус темы:
Закрыта.