Автор Тема: Помогите настроит форму отправки сообщений  (Прочитано 1734 раз)

0 Пользователей и 1 Гость просматривают эту тему.

SnaykАвтор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Топ 10 по созданным темам Более 10 созданных тем
  • Дата регистрации: Сен. 2016
  • Возраст: 38
  • Сообщений: 143
  • Страна: ua
  • Поблагодарили: 7 раз(а)
  • Репутация +1/-0
  • Пол: Мужской
  • Дата рождения:
    1986-04-17
Помогите настроит форму отправки сообщений

Цитировать
<?PHP

$_OPTIMIZATION["title"] = "Контакты";
$_OPTIMIZATION["description"] = "Связь с администрацией";
$_OPTIMIZATION["keywords"] = "Связь с администрацией проекта";
?>
<div class="s-bk-lf">
   <div class="acc-title">Контакты</div>
</div>
<div class="silver-bk"><div class="clr"></div>   
<?PHP

$db->Query("SELECT contacts FROM db_conabrul WHERE id = '1'");
$xt = $db->FetchRow();
echo $xt;
?>

<?php

/**
 * Класс отправки почтовых сообщений функций mail()
 * @author дизайн студия ox2.ru
 */
class Mail {

    private $_plain = "text/plain";  //В переменной храним тип сообщения, обычный текст, или html

    /**
     * Метод установки типа сообщения, если параметр $type = true, сообщение будет HTML,
     * если false, то обычный текст
     * @param <boolean> $type
     */

    public function isTypeHtml($is_html = true) {
        if ($is_html == true) {
            $this->_plain = "text/html";
        } else {
            $this->_plain = "text/plain";
        }
    }

    /**
     * Метод отправляет сообщение
     * @param string $to - e-mail, на который придет сообщение
     * @param <type> $to_name - Имя получателя
     * @param string $from - e-mail, с которого будет отправлено сообщение
     * @param <type> $from_name - Имя отправителя
     * @param string $subject - тема сообщения
     * @param <type> $message - сообщение
     * @return <type>
     */
    public function send($to, $to_name, $from, $from_name, $subject, $message) {
        $headers = "From: =?windows-1251?B?" . base64_encode($from_name) . "?= <$from>\r\n"; //Делаем правильные заголовки, чтобы русский был русским, и т.д.
        $headers .= "To: =?windows-1251?B?" . base64_encode($to_name) . "?= <$to>\r\n";
        $headers .= "Subject: =?windows-1251?b?" . base64_encode($subject) . "?=\r\n";
        $headers .= "Content-type: $this->_plain; charset=\"windows-1251\"\r\n";
        $headers .= "X-Mailer: ox2.ru disign studio\r\n";

        if (mail($to, $subject, $message, $headers)) { //Если сообщение отправлено, то возвращаем true
            return true;
        }
        else return false; //Если возникли ошибки при отправке сообщений, то false

    }

}

if (isset($_POST["send"])) {
    $mail = new Mail(); //Создаем класс Mail
    $mail->isTypeHtml(false); //Ставим тип сообщения как обычный текст
    $message = "ФИО: " . $_POST["fio"] . "\n\r"; //Готовим само сообщение
    $message .= "email: " . $_POST["email"] . "\n\r";
    $message .= "Сообщение: " . $_POST["message"] . "\n\r";

    if ($mail->send("ЗДЕСЬ УКАЗАТЬ СВОЙ ЭМАИЛ", "ку", "ЗДЕСЬ УКАЗАТЬ СВОЙ ЭМАИЛ", "Обратная связь", "Сообщение с сайта", $message)) { //Отправляем сообщение
        echo "<p>Сообшение успешно отправлено!</p>";
    } else {
        echo "<p>Возникли ошибки при отправке сообщения!</p>";
    }
}
?>


<form method="post" action="">
    <table cellpadding="2" cellspacing="0" border="0">
        <tbody>
            <tr>
                <td valign="middle" align="right">Фио:</td>
                <td valign="middle" align="left"><input type="text" value="" name="fio" size="25" maxlength="255" /></td>
            </tr>
            <tr>
                <td valign="middle" align="right">E-mail:</td>
                <td valign="middle" align="left"><input type="text" value="" name="email" size="25" maxlength="255" />
</td>
            </tr>
            <tr>
                <td valign="top" align="right">Сообщение:</td>
                <td valign="middle" align="left"><textarea name="message" rows="5" cols="30"></textarea></td>
            </tr>
            <tr>
                <td valign="middle" align="right" colspan="2">
                    <input type="submit" value="Отправить" name="send" />
                </td>
            </tr>
        </tbody>
    </table>
</form>


</div>
<div class="clr"></div>   
 

romcka8

  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям Более 10 созданных тем
  • Дата регистрации: Фев. 2016
  • Сообщений: 648
  • Страна: 00
  • Поблагодарили: 22 раз(а)
  • Репутация +2/-0
  • Пол: Мужской
Помогите настроит форму отправки сообщений
« Ответ #1 : 10 Января 2017, 19:51:52 »
Помогите настроит форму отправки сообщений

Цитировать
<?PHP

$_OPTIMIZATION["title"] = "Контакты";
$_OPTIMIZATION["description"] = "Связь с администрацией";
$_OPTIMIZATION["keywords"] = "Связь с администрацией проекта";
?>
<div class="s-bk-lf">
   <div class="acc-title">Контакты</div>
</div>
<div class="silver-bk"><div class="clr"></div>   
<?PHP

$db->Query("SELECT contacts FROM db_conabrul WHERE id = '1'");
$xt = $db->FetchRow();
echo $xt;
?>

<?php

/**
 * Класс отправки почтовых сообщений функций mail()
 * @author дизайн студия ox2.ru
 */
class Mail {

    private $_plain = "text/plain";  //В переменной храним тип сообщения, обычный текст, или html

    /**
     * Метод установки типа сообщения, если параметр $type = true, сообщение будет HTML,
     * если false, то обычный текст
     * @param <boolean> $type
     */

    public function isTypeHtml($is_html = true) {
        if ($is_html == true) {
            $this->_plain = "text/html";
        } else {
            $this->_plain = "text/plain";
        }
    }

    /**
     * Метод отправляет сообщение
     * @param string $to - e-mail, на который придет сообщение
     * @param <type> $to_name - Имя получателя
     * @param string $from - e-mail, с которого будет отправлено сообщение
     * @param <type> $from_name - Имя отправителя
     * @param string $subject - тема сообщения
     * @param <type> $message - сообщение
     * @return <type>
     */
    public function send($to, $to_name, $from, $from_name, $subject, $message) {
        $headers = "From: =?windows-1251?B?" . base64_encode($from_name) . "?= <$from>\r\n"; //Делаем правильные заголовки, чтобы русский был русским, и т.д.
        $headers .= "To: =?windows-1251?B?" . base64_encode($to_name) . "?= <$to>\r\n";
        $headers .= "Subject: =?windows-1251?b?" . base64_encode($subject) . "?=\r\n";
        $headers .= "Content-type: $this->_plain; charset=\"windows-1251\"\r\n";
        $headers .= "X-Mailer: ox2.ru disign studio\r\n";

        if (mail($to, $subject, $message, $headers)) { //Если сообщение отправлено, то возвращаем true
            return true;
        }
        else return false; //Если возникли ошибки при отправке сообщений, то false

    }

}

if (isset($_POST["send"])) {
    $mail = new Mail(); //Создаем класс Mail
    $mail->isTypeHtml(false); //Ставим тип сообщения как обычный текст
    $message = "ФИО: " . $_POST["fio"] . "\n\r"; //Готовим само сообщение
    $message .= "email: " . $_POST["email"] . "\n\r";
    $message .= "Сообщение: " . $_POST["message"] . "\n\r";

    if ($mail->send("ЗДЕСЬ УКАЗАТЬ СВОЙ ЭМАИЛ", "ку", "ЗДЕСЬ УКАЗАТЬ СВОЙ ЭМАИЛ", "Обратная связь", "Сообщение с сайта", $message)) { //Отправляем сообщение
        echo "<p>Сообшение успешно отправлено!</p>";
    } else {
        echo "<p>Возникли ошибки при отправке сообщения!</p>";
    }
}
?>


<form method="post" action="">
    <table cellpadding="2" cellspacing="0" border="0">
        <tbody>
            <tr>
                <td valign="middle" align="right">Фио:</td>
                <td valign="middle" align="left"><input type="text" value="" name="fio" size="25" maxlength="255" /></td>
            </tr>
            <tr>
                <td valign="middle" align="right">E-mail:</td>
                <td valign="middle" align="left"><input type="text" value="" name="email" size="25" maxlength="255" />
</td>
            </tr>
            <tr>
                <td valign="top" align="right">Сообщение:</td>
                <td valign="middle" align="left"><textarea name="message" rows="5" cols="30"></textarea></td>
            </tr>
            <tr>
                <td valign="middle" align="right" colspan="2">
                    <input type="submit" value="Отправить" name="send" />
                </td>
            </tr>
        </tbody>
    </table>
</form>


</div>
<div class="clr"></div>   
С чем именно помочь?
 

SnaykАвтор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Топ 10 по созданным темам Более 10 созданных тем
  • Дата регистрации: Сен. 2016
  • Возраст: 38
  • Сообщений: 143
  • Страна: ua
  • Поблагодарили: 7 раз(а)
  • Репутация +1/-0
  • Пол: Мужской
  • Дата рождения:
    1986-04-17
Помогите настроит форму отправки сообщений
« Ответ #2 : 30 Января 2017, 15:38:44 »
Ввожу свои данные. Но при отправки сообщение не приходит.
 

romcka8

  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям Более 10 созданных тем
  • Дата регистрации: Фев. 2016
  • Сообщений: 648
  • Страна: 00
  • Поблагодарили: 22 раз(а)
  • Репутация +2/-0
  • Пол: Мужской
Помогите настроит форму отправки сообщений
« Ответ #3 : 30 Января 2017, 15:40:35 »
Ввожу свои данные. Но при отправки сообщение не приходит.
А функция mail() включена на хостинге?
 

enclave

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 50 сообщений
  • Дата регистрации: Май 2016
  • Сообщений: 64
  • Страна: ru
  • Репутация +2/-0
  • Пол: Мужской
У меня письмо доходит но не отображается (((

Здравствуйте кто-нибудь сталкивался с таким?

Есть форма обратной связи:

вот код:
<?php


/**

* Класс отправки почтовых сообщений функций mail()

*/

class Mail {


    private $_plain = "text/plain";  //В переменной храним тип сообщения, обычный текст, или html


    /**

     * Метод установки типа сообщения, если параметр $type = true, сообщение будет HTML,

     * если false, то обычный текст

     * @param <boolean> $type

     */


    public function isTypeHtml($is_html = true) {

        if ($is_html == true) {

            $this->_plain = "text/html";

        } else {

            $this->_plain = "text/plain";

        }

    }


    /**

     * Метод отправляет сообщение

     * @param string $to - e-mail, на который придет сообщение

     * @param <type> $to_name - Имя получателя

     * @param string $from - e-mail, с которого будет отправлено сообщение

     * @param <type> $from_name - Имя отправителя

     * @param string $subject - тема сообщения

     * @param <type> $message - сообщение

     * @return <type>

     */

    public function send($to, $to_name, $from, $from_name, $subject, $message) {


        $headers = "From: =?windows-1251?b?" . base64_encode($from_name) . "?= <$from>\r\n"; //Делаем правильные заголовки, чтобы русский был русским, и т.д.

        $headers .= "To: =?windows-1251?b?" . base64_encode($to_name) . "?= <$to>\r\n";

        $headers .= "Subject: =?windows-1251?b?" . base64_encode($subject) . "?=\r\n";

        $headers .= "Content-type: $this->_plain; charset=\"windows-1251\"\r\n";

        $headers .= "X-Mailer: ox2.ru disign studio\r\n";


        if (mail($to, $subject, $message, $headers)) { //Если сообщение отправлено, то возвращаем true

            return true;

        }

        else return false; //Если возникли ошибки при отправке сообщений, то false


    }


}


if (isset($_POST["send"])) {

    $mail = new Mail(); //Создаем класс Mail

    $mail->isTypeHtml(false); //Ставим тип сообщения как обычный текст

    $message = "ФИО: " . $_POST["fio"] . "\n\r"; //Готовим само сообщение

    $message .= "email: " . $_POST["email"] . "\n\r";

    $message .= "Сообщение: " . $_POST["message"] . "\n\r";


    if ($mail->send("support@ваша_почта", "ку", "ваша_почта.ru", "Обратная связь", "Сообщение с сайта", $message)) { //Отправляем сообщение

        echo "<CENTER><font color='green' style='font-size:1.2em; text-shadow:1px 0px 0px black;'>Сообшение успешно отправлено!</font></CENTER><BR>";

    } else {

        echo "<p>Возникли ошибки при отправке сообщения!</p>";

    }

}

?>

Сообщение отправляется но приходит в таком виде:
http://joxi.ru/8AnEDLWIjz1G42.jpg
Помогите настроит форму отправки сообщений

Пробовал менять кодировку на utf-8, кирилица в письме отображается вопросиками (??????)
 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Сообщение само передается?

Тут еще кодировку сменить нужно:

$headers .= "Content-type: $this->_plain; charset=\"windows-1251\"\r\n";

enclave

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 50 сообщений
  • Дата регистрации: Май 2016
  • Сообщений: 64
  • Страна: ru
  • Репутация +2/-0
  • Пол: Мужской
Сообщение само передается?

Тут еще кодировку сменить нужно:

$headers .= "Content-type: $this->_plain; charset=\"windows-1251\"\r\n";

Артемий здравствуйте )))

Да сообщение передаётся, кодировку менял и файла, и строки, и вообще странности происходят )))
Перенаправлю вас сюда, так как дискутирую щас здесь: http://svalka58.ru/index.php?topic=2568.new#new
 
Теги: