Nanotraktor

[Решено] Рассылка обрывается на 60 письмах из нескольких сотен

Рекомендуемые сообщения

Nanotraktor    0

Всем доброго дня.

При рассылке новостей через инструмент "Продажи" -- "Почта" возникает странная ошибка. Отправляется только 60 сообщений и всё. 

В логах сервера никаких ошибок (все запросы с 200 ОК, лог ошибок пуст), в логах самого опенкарта также пусто.

Панель гугл хрома показывает, что обращения к скрипту из формы происходит успешно, но после http://c2n.me/3hbxm2i.png сайт возвращает ответ 200 ОК, но нулевого объема "/admin/index.php?route=sale/contact/send&token=ea****&page=7":

http://c2n.me/3hbxhZN.png

Почтовый сервер исключил - ситуация повторяется независимо от того чей сервер использовать (пробовал несколько провайдеров и свой собственный на VPS)

Очень смущает тот факт что каждый раз отправляется строго 60 писем, но причину тому найти не получается пока что..  :|

Сегодня ещё перенесу сам сайт на другой сервер, но возможно, кто-то сталкивался со схожими ошибками? 

Буду благодарен за любые идеи по теме. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 098

>> Почтовый сервер исключил - ситуация повторяется независимо от того чей сервер использовать (пробовал несколько провайдеров и свой собственный на VPS)

а настройки почты с вкладки показать?..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Nanotraktor    0

Скриншот:

post-689235-0-13030100-1430827799_thumb.png

Почтовик на том же сервере что и сайт. Поэтому - localhost. 

Если использовать любой другой - ситуация никак не меняется. 

Версия CMS 1.5.6.4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 098

а если через mail() ?

может у 61го адресата email "того"?

логи точно пишутся?

в них точно пусто (те ли логи смотришь)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Nanotraktor    0

логи точно пишутся?

в них точно пусто (те ли логи смотришь)?

 

Логи пишутся точно. Собственно, по логу исправил ошибку с отключенным output_buffering. 

 

может у 61го адресата email "того"?

 

У меня тоже есть подозрение на то что какой-то email неправильный или по какой-то причине отсутствует. Но тут вопрос - как это можно проверить? 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 098

писать в лог необходимые для проверки данные перед попыткой отправить письмо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Nanotraktor    0

писать в лог необходимые для проверки данные перед попыткой отправить письмо.

Возможно, есть какой-то мануал, тематическая заметка или ещё какое-то наставление как это грамотно и без ущерба CMS сделать? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 098

простейший вариант:

admin/controller/sale/contact.php

					$message .= '</html>' . "\n";
					
					foreach ($emails as $email) {
						$mail = new Mail();
>>

					$message .= '</html>' . "\n";
					
					$this->log->write('emails.list: '.implode(', ', $emails));
					
					foreach ($emails as $email) {
						
						$this->log->write('processing.email: '.$email);
						
						$mail = new Mail();

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Nanotraktor    0

Большое спасибо, буду пробовать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Nanotraktor    0

Хотел ещё раз сказать спасибо. 
afwollis, ваш совет помог найти причину ошибки!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 098

и это хорошо :-)

только ж - расскажи, в чем проблема была?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rfrnjnfr    0

Хотел ещё раз сказать спасибо. 

afwollis, ваш совет помог найти причину ошибки!

Подскажите, пожалуйста, как решили проблему и какая  была ошибка. (У меня аналогичная проблема, отправляется только 20 писем.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Nanotraktor    0

Извините что сразу не написал в продробностях. 

После редактирования файла admin/controller/sale/contact.php как рекомендовал многоуважаемый afwollis в предпоследнем сообщении включил логирование ошибок в настройках сайта и попробовал разослать письма вновь. Выловил вот такую ошибку: 

 

2015-yy-zz 7:32:12 - processing.email: Jain.@.ru
2015-yy-zz 7:32:12 - PHP Notice:  Error: RCPT TO not accepted from server! in /var/www/username/data/www/sitename.com/system/library/mail.php on line 308
 
то есть, email-адрес был некорректный. Как результат - при попытке отправки сообщения почтовый сервер возвращал ошибку. 
 
После этого в разделе "Продажи" -- "Покупатели" -- "Покупатели"  остаётся просто выполнить поиск по Jain.@.ru и либо удалить такого пользователя, либо изменить email на корректный и повторить попытку. 
 
 
Если что-то не получится - пишите, попробую в порядке закрепления изученного материала помочь с этим вопросом. :) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rfrnjnfr    0

Если что-то не получится - пишите, попробую в порядке закрепления изученного материала помочь с этим вопросом. :)

 

 

Спасибо, получилось найти неправильный e-mail.

Как можно избежать таких ситуаций в дальнейшем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Nanotraktor    0

На мой взгляд - искать где на сайте вводятся адреса (страница регистрации, личный кабинет, страница заказа (?) ) и проверять - фильтруются ли в соответствующих полях форм вводимые данные. 
Если нет - фильтровать не давая пользователям (и в идеале - администраторам) писать всякую фигню. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 098

php 5.2+, filter_var()

в ocStore_15412+ все (или почти все) проверки email`ов проходят так (в одном месте через библиотеку ocstore), а не через базовую регулярку оригинального Opencart, раскиданную по всем файлам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Nanotraktor    0

Спасибо, полезная информация! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу