Перейти к содержимому


По форме обратной связи файл feedback.php


  • Вы не можете ответить в тему
Сообщений в теме: 12

#1 ruter

    Продвинутый пользователь

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 09 September 2011 - 09:00 PM

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

Я посмотрел код в файле заложено три вида ошибки:
код подтверждения
неправильно заполнены поля
и этот третий вид. Я понимаю, что возможна какая-то ошибка, но она толком не отрабатывается. И этот третий вариант можно удалить. Поскольку отправка происходит или нет.
Я просто устранил в коде появление этой ошибки и сейчас показывает как надо. Теперь письма уходят нормально и правильно выходят сообщения.

Кто разбирался, зачем ввели эту ошибку?
  • 0

#2 tatarin198

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений
Репутация: 0
Начинающий

Отправлено 24 September 2011 - 12:06 PM

Приветствую, подскажите пожалуйста по Shopcms. Шаблон DigitalStore, при отправки через форму обратной связи пишет, что удачно. но письма в ящик не приходят(спам так же проверял), в общих настройках указано куда слать. Решил попробовать через smtp. прописал там же smtp-логин-пароль, выбрал режим отправки через smtp на форме вываливается ошибка "невозможно отправить" Не знаю куда копать...
  • 0

#3 vsupport

    Продвинутый пользователь

  • Администраторы
  • 758 сообщений
Репутация: 31
Ассистент

Отправлено 24 September 2011 - 03:21 PM

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

Я посмотрел код в файле заложено три вида ошибки:
код подтверждения
неправильно заполнены поля
и этот третий вид. Я понимаю, что возможна какая-то ошибка, но она толком не отрабатывается. И этот третий вариант можно удалить. Поскольку отправка происходит или нет.
Я просто устранил в коде появление этой ошибки и сейчас показывает как надо. Теперь письма уходят нормально и правильно выходят сообщения.

Кто разбирался, зачем ввели эту ошибку?


А вам то зачем??? Скорей всего обработка запросов не очень высокая и авторы скрипта решили подстраховать в отправки писем ваших клиентов.

Приветствую, подскажите пожалуйста по Shopcms. Шаблон DigitalStore, при отправки через форму обратной связи пишет, что удачно. но письма в ящик не приходят(спам так же проверял), в общих настройках указано куда слать. Решил попробовать через smtp. прописал там же smtp-логин-пароль, выбрал режим отправки через smtp на форме вываливается ошибка "невозможно отправить" Не знаю куда копать...


Адрес сайта пожалуйста в ЛС напишите или замените фаил обратной связи стандартным
  • 0

#4 ruter

    Продвинутый пользователь

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 24 September 2011 - 09:08 PM

А вам то зачем??? Скорей всего обработка запросов не очень высокая и авторы скрипта решили подстраховать в отправки писем ваших клиентов.

Просто у меня при отправке показывало, что произошла ошибка Во время отправки произошла ошибка! Попробуйте еще раз...

А письма нормально отправляются, вот я и выкинул формирование этого сообщения об этой ошибке. Сделал как реализовано в вопрос по товару и сообщение дискусии и все нормально работает. Так хотел знать, что за ошибка такая и чего мне писало то сообщение, хотя отправка происходила. Может есть подводный камень?
  • 0

#5 tatarin198

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений
Репутация: 0
Начинающий

Отправлено 25 September 2011 - 12:08 AM

Проверил сообщение : "Во время отправки произошла ошибка! Попробуйте еще раз... " у меня выдает если я отправляю на email отличный от того, что указан в общих настройках в качестве "реквизитов" для smtp - итог письмо не получено. Если в форме обратной связи указываю почту, как в реквизитах тогда отсылается. Как быть?
  • 0

#6 klin

    Пользователь

  • Пользователи
  • PipPip
  • 17 сообщений
Репутация: 0
Начинающий

Отправлено 22 March 2015 - 10:58 AM

Во время отправки произошла ошибка! Попробуйте еще раз...

у меня на сайте выскакивает такое сообщение. При этом сообщение не отправляется. Можете помочь устранить эту ошибку?

http://мойаромат.рф/feedback.html
  • 0

#7 ruter

    Продвинутый пользователь

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 22 March 2015 - 11:25 AM

Во время отправки произошла ошибка! Попробуйте еще раз...

у меня на сайте выскакивает такое сообщение. При этом сообщение не отправляется. Можете помочь устранить эту ошибку?

http://мойаромат.рф/feedback.html


Прежде всего проверьте в настройках магазина, указали ли Вы корректный e-mail в поле Основной email адрес магазина
если да, то найдите в файле core/includes/feedback.php два вхождения кода $smarty->assign("error",3); и самое простое и быстрое замените 3 на 4.
И попробуйте отправку, вроде если не изменяет память, будет нормально отправляться. Только не забудьте сбросить кэш магазина после исправления.
  • 0

#8 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 22 March 2015 - 03:29 PM

Эта ошибка выдается когда функция xMailTxtHTML возвращает 0 или false.
код там такой:

if (preg_match("/^[_\.a-z0-9-]{1,20}@(([a-z0-9-]+\.)+(com|net|org|mil|edu|gov|arpa|info|biz|inc|name|[a-z]{2})|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})$/is",
$_Email))
{
$mail->ClearAddresses();
$mail->AddAddress($_Email, '');
return $mail->Send();
}
else return false;


т.е. либо какие-то проблемы с парсингом email (адрес не удовлетворяет регулярному выражению), либо функция Send() вернула false.
Ну а false эта функция возвращает в довольно большом количестве случаев. Если дело именно в ней, а не в "плохом" email, то надо смотреть состояние переменной $mail->ErrorInfo после выполнения $mail->Send(), там будет информация об ошибке (ошибках).

PS. Например, исходя из вышеуказанного регулярного выражения username (то, что до знака @) не может быть больше 20 символов. А вообще начиная с PHP 5.2.0 валидация емейла с помощью самописной регулярки нафиг не нужна, т.к. появилась функция filter-var - https://php.net/manu....filter-var.php
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#9 ruter

    Продвинутый пользователь

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 22 March 2015 - 04:48 PM

Скорее всего здесь не в адресе отправителя e-mail дело, я заходил на сайт и пробовал отправить с количеством знаков до 10 до собачки и показало Во время отправки произошла ошибка! Попробуйте еще раз...
Функция Send() не отрабатывает если проблема с полями и работой функции mail(), что скорее всего связано с хостингом. Еще причина бывает:заполняются поля в настройках сайта для работы с smtp - логин и пароль, а ниже забывают выбрать Способ отправки почты, так остается выбранный mail или наооброт, отсюда и нет отправки.

Причем на одних хостингах такую ошибку не показывает, а на других есть, даже при одинаковых версиях php, скорее всего это связано с индивидуальными настройками хостинга. В большинстве случаев при корректном указании e-mail как отправителя, так и e-mail магазина, происходит отправка писем, но генерируется сообщение в шаблоне это сообщение: Во время отправки произошла ошибка! Попробуйте еще раз..., достаточно исправить цифру 3 на 4 или любую другую > 3 и указанное сообщение не будет попусту показываться.
  • 0

#10 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 22 March 2015 - 06:16 PM

Скорее всего здесь не в адресе отправителя e-mail дело

Какой смысл гадать на кофейной гуще в стиле "скорее всего трам-пам-пам"? :)
Что при этом было в $mail->ErrorInfo? Ведь это важно и ключ к пониманию проблемы.

достаточно исправить цифру 3 на 4 или любую другую > 3 и указанное сообщение не будет попусту показываться.

Можно вообще убрать сообщения об ошибках и их как бы не будет :).
Если класс phpmailer выдает какую-то ошибку, то правильнее с ней разобраться, а не отключать диагностику.

Очевидно, что в общем случае наличие ошибки не означает, что email не отправлен, но ведь у спрашивающего как раз обратная ситуация - письма НЕ ОТПРАВЛЯЮТСЯ. Причин, увы, в случае работы с почтой ОЧЕНЬ много и давать какие-то рекомендации исходя из двух фактов "не отправляется" и "Выдается сообщение 'бла-бла-бла'" я бы поостерегся. Надо КАК МИНИМУМ получить текст из $mail->ErrorInfo.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#11 ruter

    Продвинутый пользователь

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 22 March 2015 - 07:23 PM

Да, если смодулировать ситуацию, когда можно посмотреть ошибку $mail->ErrorInfo, то можно сделать, но у меня везде работает, пару раз были вот такие казусы исправили таким образом (просто убрал показ), таким образом и уже много лет работают люди без проблем и у меня где-то на сайтах работает, где уже не помню на которых. Главное письма отправляются. Просто здесь не стоит задача найти ошибку скрипта и отладить. Кто хочет и может и имеет массу времени, никто против не будет. Просто многие переводят предупреждения и несущественные ошибки в своих функциях в разряд ошибки и отрабатывают её показ, это неправильно, может для отладки скрипта и нужно, но зачем отрабатывать для пользователя, если отправка идет. Не думаю, что скрипт отправки почты идеален, как и везде косяков достаточно и можно в любом скрипте накопать при желании кучу дефектного кода.

Человек попросил о помощи а сам не отвечает, мы ж не знаем вводные условия, может там действительно адрес не указан или неправильно прописан. Или там smtp до конца не настроено селектором. Поэтому и написал посмотреть адрес и если отправляет и пишет ошибку просто её убрать показ так или из шаблона убрать. Я не встречал еще никого, у которого вообще не отправляются письма при правильных настройках из скрипта этого магазина.
  • 0

#12 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 22 March 2015 - 07:52 PM

Да, если смодулировать ситуацию, когда можно посмотреть ошибку $mail->ErrorInfo

Что там моделировать? :)
Это же не раз в год случайная отправка емейла, а без проблем повторяемый фидбэк, который можно и самому заполнить-отправить для проверки. А состояние $mail->ErrorInfo лично я бы смотрел вставкой

$f=fopen('1.txt','w');
fwrite($f,var_export($mail->ErrorInfo,true)."\n");
fclose($f);

после вызова $mail->Send(). В корне сайта создастся файл 1.txt с содержимым $mail->ErrorInfo.
Собственно, столько вариантов увидеть этот самый ErrorInfo, что глаза разбегаются.

Главное письма отправляются. Просто здесь не стоит задача найти ошибку скрипта и отладить.

Ну да, ну да... "Благими ... вымощена..." :)
Не стоит, как мне кажется, подводить теоретическую базу под банальное нежелание выяснить причину ошибки и устранить ошибку. Это не правильно. Возможно, это подходит для себя лично, когда известны все вводные, но советовать это другим участникам форума как-то нехорошо.

Человек попросил о помощи а сам не отвечает, мы ж не знаем вводные условия

Это да, тут согласен. Я в основном для него и писал конкретику.
Или еще кому-нибудь пригодится.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#13 ruter

    Продвинутый пользователь

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 22 March 2015 - 10:03 PM

Да

Да, если смодулировать ситуацию, когда можно посмотреть ошибку $mail->ErrorInfo

Это же не раз в год случайная отправка емейла, а без проблем повторяемый фидбэк, который можно и самому заполнить-отправить для проверки. А состояние $mail->ErrorInfo лично я бы смотрел вставкой

$f=fopen('1.txt','w');
fwrite($f,var_export($mail->ErrorInfo,true)."\n");
fclose($f);

после вызова $mail->Send(). В корне сайта создастся файл 1.txt с содержимым $mail->ErrorInfo.
Собственно, столько вариантов увидеть этот самый ErrorInfo, что глаза разбегаются.

Да отлавливать надо у того у кого эта проблема возникает, я тоже обычно таки образом логи пишу, где надо понаблюдать хронику работы скрипта. открыл файл и там все видно, еще время пишу для удобства анализа, если нет другого варианта отображения времени записей в лог.
  • 0