Почтовый плагин, как добавить отправку файлов файлов.
Доброго времени суток, есть почтовый плагин
function MyMailer(nameform, valids, maxlimit){ submit = $(nameform).find("button"); max_limit = maxlimit; $(nameform).ready(function(){ var inputs = $(nameform).find(":input:not([type=button]):not([type=submit]):not([type=reset])"); id_accept = $(nameform).attr("id")+"_accept"; id_denied = $(nameform).attr("id")+"_denied"; accept_block = $("<div class='message' style='display:none' id='"+id_accept+"'><h5>Ваше сообщение успешно отправлено</h5></div>"); denied_block = $("<div class='message' style='display:none' id='"+id_denied+"'><h5>Ваше сообщение не отправлено</h5></div>"); $(nameform).append($(accept_block),$(denied_block)); name = ""; $.each(inputs, function (i, row) { name = $(row).attr('name'); block = row; $.each(valids, function (x, rowin) { tag = rowin[0]; if (tag == name){ key = rowin[1]; validator = rowin[2]; alert = rowin[3]; alert_block = $("<p class='error_block' style='display:none'>"+alert+"</p>"); $(row).after($(alert_block)) $(row).attr("onchange", validator+"(this)"); } }) }) /////////////////////////////////////////// })/////////////////////////////////////// $(submit).click(function(){ event.preventDefault(); errorcount = 0; var inputs = $(nameform).find(":input:not([type=button]):not([type=submit]):not([type=reset]):not([type=hidden]):not([type=file])"); name = ""; $.each(inputs, function (i, row) { name = $(row).attr('name'); block = row; $.each(valids, function (x, rowin) { tag = rowin[0]; if (tag == name){ key = rowin[1]; validator = rowin[2]; eval(validator)($(row)); } }) }) if (errorcount == 0){ message = ''; $.each(inputs, function (i, row) { value = $(row).val(); name = $(row).attr('name'); block = row; $.each(valids, function (x, rowin) { tag = rowin[0]; if (tag == name){ key = rowin[1]; message = message + key +" : "+ value+"\n"; } }) }) $.ajax({ url: '/send.php', type: 'post', data: { message: message}, success: function() { } }); $("#"+id_accept).show('slow'); setTimeout(function() { $("#"+id_accept).hide('slow'); }, 2000); // console.log(message); $.each(inputs, function (i, row) { $(row).val(""); }) } else { $("#"+id_denied).show('slow'); setTimeout(function() { $("#"+id_denied).hide('slow'); }, 2000); return false; } /////////////////////////////////////////// })/////////////////////////////////////// }////////////////////////////////////////// Есть его вызов $(document).ready(function(){ $("input[name=phone]").mask('+3 (999) 999-99-99');////////подключение маски телефона //////////////////////////////////////////////////////////////////////////////////// ///////////////MAIL + ONLINE VALIDATION//////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// var footer_form_validator = [ ['name' , 'Имя:', 'validlitera', 'Ошибка при вводе имени!!!'], ['phone','Телефон:', 'validphone', 'Ошибка при вводе телефона!!!'], ['mail' , 'E-mail:', 'validmail', 'Ошибка при вводе E-mail!!!'], ['mess' , 'Сообщение:', 'validtext', 'Сообщение не заполнено'] ]; MyMailer(footer_form,footer_form_validator, 15);/////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// }); Есть файл отправки <?php ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// // To send HTML mail, the 'Content-type' header must be set $headers = 'MIME-Version: 1.0' . "\r\n"; $headers = "Content-type: text/html; charset=windows-1251 \r\n"; ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// $headers = "From: Ваш сайт.net \r\n"; ///////////////////////////////////////////////////////////////// /// From - обязателен для заполнения и в него вписывается почтовый адрес отправки $admin_mail = 'Ваш Почтовый ящик'; $subject = 'Письмо с сайта Ваш сайт.net'; $message = $_POST['message']; mail($admin_mail, $subject, $message, $headers); ?> И есть форма обратной связи <form action="" id="footer_form" class="row" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> <input type="text" name="name" placeholder="Ф.И.О."> <input type="text" name="mail" placeholder="E-mail"> <input type="text" name="phone" placeholder="Телефон"> <input type="file" name="fileUpload[]" multiple > <textarea rows="5" placeholder="Ваше сообщение" name="mess"></textarea> <button type="submit" class="btn white">Отправить</button> </form> Всё отлично работает пока дело касается текста, но мне надо чтоб эта форма могла отправлять несколько файлов Exel, Word, PDF и т.д, а как это влепить в функцию MyMailer, чтоб каждый раз в PHP не лезть я себе даже не представляю. |
Используйте готовые библиотеки для работы с почтой в php
К примеру, PHPMailer |
Спасибо за подсказку. К сожалению моих знаний не хватает понять механику этой библиотеки, потому копаю в других направлениях. Переменная message формируется и проверяется прямо в JS для каждой формы. Пытаюсь найти способ таким же образом в Send.php передавать пакет файлов.
|
Часовой пояс GMT +3, время: 03:53. |