Цитата:
В начале скрипта поставить код с этой страницы (первые 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, время: 08:46. |