Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Отправить письмо с сайта


Автор: cppGhost 18.5.2014, 08:41
день добрый, похожие темы на форуме читал, но там как то слишком накручено.  у меня есть три поля "тема" "от кого" "сообщение". нажимаем на кнопку и мне на почту сайта приходит письмо. сам в вебе 1,5 недели поэтому очень прошу, просто молю написать очень простую инструкцию типа

1) на фтп создать файл mail.php с таким то содержанием
2) в файле index.hml написать то-то и то-то, чтобы этот mail.php заработал

ну или что-то в этом роде. заранее благодарю

Автор: s1lver 18.5.2014, 13:23
Надо воспользоваться функцией mail, подробно можно почитать http://www.php.su/functions/?mail
Самый простой пример

index.html
Код

<form action="mail.php" method="post">
<label><input type="text" name="subject"></label>
<label><input type="text" name="address"></label>
<label><input type="text" name="text"></label>
<input type="submit" value="Отправить письмо">
</form>



mail.php
Код

<?php
    //текст приветствия(не обязательно)
    $g_welcome_text = "";
    //текст заголовка в формате(From:[email protected]\r\n)
    $g_header = "";
    //текст основного сообщения
    $g_text = $_POST['text'];
    //адрес получателя(можно указывать через запятую)
    $g_address = $_POST['address'];
    //тема сообщения(не обязательно)
    $g_subject = $_POST['subject'];

        mail($g_address,$g_subject,$g_text,$g_header);

Автор: marioadm 19.5.2014, 13:57
mail.php

Код

<?php



class html_mime_mail {
    var $headers;
    var $multipart;
    var $mime;
    var $html;
    var $parts = array();

    function html_mime_mail($headers = "") {

        $this->headers = $headers;

    }

    function add_html($html = "") {

        $this->html .= $html;

    }

    function build_html($orig_boundary, $encode) {

        $this->multipart .= "--" . $orig_boundary . "\n";
        if ($encode == "w" || $encode == "win" || $encode == "windows-1251") {

            $encode = "windows-1251";

        } else {

            $encode = "utf-8";

        }

        $this->multipart .= "Content-Type: text/html; charset=" . $encode . "\n";
        $this->multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
        $this->multipart .= $this->html . "\n\n";

    }

    function add_attachment($path = "", $name = "", $c_type = "application/octet-stream") {

        if (!file_exists($path . $name)) {
            return;
        }

        $fp = fopen($path . $name, "r");

        if (!$fp) {

            return;

        } else {

            $clients_mails = fread($fp, filesize($path . $name));
            fclose($fp);
            $this->parts[] = array("body" => $clients_mails, "name" => $name, "c_type" => $c_type);

        }

    }

    function build_part($i) {

        $message_part = "";
        $message_part .= "Content-Type: " . $this->parts[$i]["c_type"];

        if ($this->parts[$i]["name"] != "") {

            $message_part .= "; name = \"" . $this->parts[$i]["name"] . "\"\n";

        } else {

            $message_part .= "\n";

        }

        $message_part .= "Content-Transfer-Encoding: base64\n";
        $message_part .= "Content-ID: <" . $this->parts[$i]["name"] . ">\n";
        $message_part .= "Content-Disposition: attachment; filename = \"" . $this->parts[$i]["name"] . "\"\n\n";
        $message_part .= chunk_split(base64_encode($this->parts[$i]["body"])) . "\n";
        return $message_part;

    }


    function build_message($encode) {

        $boundary = "=_" . md5(uniqid(time()));
        $this->headers .= "MIME-Version: 1.0\n";
        $this->headers .= "Content-Type: multipart/mixed; boundary=\"" . $boundary . "\"\n";
        $this->multipart = "";
        $this->multipart .= "This is a MIME encoded message.\n\n";
        $this->build_html($boundary, $encode);
        for ($i = (count($this->parts) - 1); $i >= 0; $i--) {
            $this->multipart .= "--" . $boundary . "\n" . $this->build_part($i);
        }

        $this->mime = $this->multipart . "--" . $boundary . "--\n";

    }


    function send($to, $reply, $from, $subject = "", $headers = "") {

        $headers = "From: Оформление кредита <" . $from . ">\nReply-To: " . $reply . "\nSubject: " . $subject .
            "\n" . $headers;
        @mail($to, $subject, $this->mime, $headers . $this->headers);

    }

}

?>


index
Код

<?php



function sended() {

    if(!isset($_POST['send'])) return false;

    include("mail.php");
    $htmlMimeMail = new html_mime_mail();

    //header("content-type:text/html;charset=utf-8");
    $lastname = $_POST['lastname'];
    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $day = $_POST['day'];
    $month = $_POST['month'];
    $year = $_POST['year'];
    $idnumber = $_POST['idnumber'];
    $passport = $_POST['passport'];
    $country = $_POST['country'];
    $city = $_POST['city'];
    $street = $_POST['street'];
    $house = $_POST['house'];
    $flat = $_POST['flat'];
    $phone = $_POST['phone'];
    $credit = $_POST['credit'];
    $where = $_POST['where'];

    $message = "Поступило новое оформление на кредит <br />
                ФИО: ".$lastname." ".$name." ".$surname." <br />
                Дата рождения: ".$day."-".$month."-".$year." <br />
                Идентификационный номер: ".$idnumber." <br />
                Серия/Номер Паспорта: ".$passport." <br />
                Страна проживания: ".$country."  <br />
                Город проживания: ".$city." <br />
                Дом: ".$house." <br />
                Квартира: ".$flat." <br />
                Мобильный номер: ".$phone." <br />
                Желаемая сумма кредита ( грн):  ".$credit." <br />
                Куда Выслать кредит: ".$where." <br />";

    $htmlMimeMail->add_html($message);
    $htmlMimeMail->build_message("utf8");
    $subj = "Оформление кредита для ".$lastname." ".$name." ".$surname;
    if($htmlMimeMail->send( "[email protected]", "[email protected]" , "[email protected]",$subj)) return $result; else echo false;

}

?>

<!doctype html>
<html lang="en-US">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  <title>PaySeven, pay7 Онлайн Кредит, Кредит Онлайн, Кредит Без Залога, Кредит Быстро, Быстро Кредит, Кредит Украина, Кредит Днепропетровск, быстрый кредит, Кредит Киев, Кредит Донецк, Кредит срочно</title>
  <meta name="author" content="ALE">
  <link rel="stylesheet" type="text/css" media="all" href="styles.css">
  <link rel="stylesheet" type="text/css" media="all" href="http://fonts.googleapis.com/css?family=Skranji:400,700|Oxygen:400,700">
  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
  <div id="w">
    <?php if(!empty($_POST['send']))  { sended(); ?>
    <h1><span class="req"><img width="600" height="300" src="head.JPG"><br />Сообщение отправлено!</span></h1>
    <?php } else { ?>
    <h1><span class="req"><img width="600" height="300" src="head.JPG"><br />Оформить Онлайн Кредит</span></h1>


    <?php } ?>
    <form id="contactform" name="contact" method="post" action="#">
      <p class="note"><span class="req">*</span> Поля со звездочкой обязательны для заполнения</p>
      <div class="row">
        <label for="name">Фамилия <span class="req">*</span></label><br>
        <input type="text" name="lastname" id="" class="txt" tabindex="1" placeholder="Фамилия"  required>
      </div>
    <div class="row">
        <label for="name">Имя <span class="req">*</span></label><br>
        <input type="text" name="name" id="" class="txt" tabindex="1" placeholder="Имя"  required>
      </div>
    <div class="row">
        <label for="name">Отчество <span class="req">*</span></label><br>
        <input type="text" name="surname" id="" class="txt" tabindex="1" placeholder="Отчество"  required>
      </div>
    <div class="row">
        <label for="name">Дата рождения <span class="req">*</span></label><br>
        <input size="2" style="width: 60px;" type="text" name="day" id="" class="txt" tabindex="1" placeholder="День"  required>
    <input size="2" style="width: 60px;" type="text" name="month" id="" class="txt" tabindex="1" placeholder="Месяц"  required>
    <input size="4"style="width: 60px;"  type="text" name="year" id="" class="txt" tabindex="1" placeholder="Год" required>
      </div>
    <div class="row">
        <label for="name">Идентификационный номер <span class="req">*</span></label><br>
        <input type="text" name="idnumber" id="" class="txt" tabindex="1" placeholder="Идентификационный номер"  required>
      </div>
   <div class="row">
        <label for="name">Серия/Номер Паспорта <span class="req">*</span></label><br>
        <input type="text" name="passport" id="" class="txt" tabindex="1" placeholder="Серия/Номер Паспорта"  required>
      </div>
   <div class="row">
        <label for="name">Страна проживания <span class="req">*</span> </label><br>
        <input type="text" name="country" id="" class="txt" tabindex="1" placeholder="Страна проживания "  required>
      </div>
   <div class="row">
        <label for="name">Город проживания <span class="req">*</span></label><br>
        <input type="text" name="city" id="" class="txt" tabindex="1" placeholder="Город проживания "  required>
      </div>
   <div class="row">
        <label for="name">Адрес, улица <span class="req">*</span></label><br>
        <input type="text" name="street" id="" class="txt" tabindex="1" placeholder="Адрес, улица"  required>
      </div>
   <div class="row">
        <label for="name">Дом</label><br>
        <input type="text" name="house" id="" class="txt" tabindex="1" placeholder="Дом">
      </div>
   <div class="row">
        <label for="name">Квартира</label><br>
        <input type="text" name="flat" id="" class="txt" tabindex="1" placeholder="Квартира">
      </div>
      <div class="row">
        <label for="email">Мобильный номер <span class="req">*</span></label><br>
        <input type="tel" name="phone" id="" class="txt" tabindex="2" placeholder="Мобильный номер"  required>
      </div>
   <div class="row">
        <label for="email">Желаемая сумма кредита <span class="req">*</span></label><br>
        <input type="text" name="credit" id="" class="txt" tabindex="2" placeholder="Желаемая сумма кредита" required>
      </div>
   <div class="row">
        <label for="email">Как получить кредит <span class="req">*</span></label><br />
        <select class="txt" name="where" id="" required>
        <option></option>
        <option value="Наличными">Наличными</option>
        <option value="На карту банка">На карту банка</option>
    </select>
      </div>
<div class="checkbox-box form-field">
<h1><span class="req"><br />Отправив смс   на <font color="green">8510</font color="green">
<br>
 с кодом <font color="green">4962404</font color="green">
<br>
Вы ускорите процесс обработки заявки</span></h1>

                            <input type="checkbox" name="check" id="check" checked="checked"> Согласен на обработку и передачу <span class="link popup-link popup-link-js" data-popup="value"><a href="http://a6261.com/sogl.html">персональных данных</a></span>.

      <div class="center">
        <input type="submit" id="submitbtn" name="send" tabindex="5" value="Отправить заявку ">
      </div>
    </form>
  </div>
</body>
</html>








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


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)