Цитата:
В начале скрипта поставить код с этой страницы (первые 20 строк), заменив 7-ю строку на echo "Ok"; И убрать строку echo $res; в конце вашего скрипта. |
Цитата:
Не приходят формы на почту админу, и так и так попробовал |
Цитата:
Значит я вижу три выхода: - либо менять протокол взаимодействия с веб-сервером и/или сам веб-сервер; - либо ставить локально почтовый сервер (для быстрого приёма письма), который будет затем перенаправлять почту куда надо; - либо вариант, который предложил Nexus. |
Цитата:
сейчас в Joomla стоит phpMail, когда настраивал smtp вообще не приходило |
Цитата:
|
А что если: сервак должен получать запрос, запускать в отдельном потоке отправку письма, и отвечать клиенту что всё ок
т.е. фронт отправить запрос и получит ответ за секунду. А письмо отправлять сервер будет уже столько сколько надо т.е. фронт должен дождаться ответа что запрос на сервер отправлен после чего сделать редирект пхп работает с потоками? |
По потокам не подскажу, но можно ещё запустить внешний фоновый процесс через exec и его аналоги:
https://php.ru/forum/threads/zapusk-...9/#post-489196 https://stackoverflow.com/questions/...nswer-14556052 https://ru.stackoverflow.com/questio...BD%D0%B8%D1%8F Тут ключевое слово - фоновый. Иначе основной скрипт будет ждать завершения дочернего процесса. Как вариант, можно так запускать не напрямую консольный php-скрипт, а дёргать УРЛ через curl или wget: exec("wget -b -o /dev/null 'https://javascript.ru/?s=subject&text=some text для примера'");^^тут часть >/dev/null & не нужна, т.к. мы указали ключ -b для wget, благодаря чему он сам переходит в фон; а ключом -o мы сказали что и вывод с этой страницы сохранять не нужно. |
Цитата:
Мне кажется для приложения на Joomla это как-то слишком серьезно что ли) Попробуйте просто отправить ответ пользователю, что "все хорошо" и продолжайте выполнять отправку сообщений: https://gist.github.com/bubba-h57/32593b2b970366d24be7 https://stackoverflow.com/questions/...nnection-early Цитата:
|
Цитата:
|
а что если так?
$(document).ready(function(){ $('.quote_form').click(function(){ // get text field value var userName = $('.myField').val(); var emailAddress = 'myemail@server.com'; // ajax request and response in function var jqxhr = $.ajax({ url: 'sendMail.php', type: 'POST', data: jQuery('#quote_form').serialize(), src: window.location.href, success:function(responseAnyNameHere) { $('.responseArea').html(responseAnyNameHere); }, statusCode:{ 404:function(){ //$('.error').html("Page not found!"); alert( "file not found" ); } } }).done(function() { alert( "success" ); }).fail(function() { alert( "error" ); }).always(function() { alert( "complete" ); }); }})); Только где то ошибка |
Часовой пояс GMT +3, время: 02:18. |