Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

При рассылке новостей через инструмент "Продажи" -- "Почта" возникает странная ошибка. Отправляется только 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 писем, но причину тому найти не получается пока что..  :|

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

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

 

Надіслати
Поділитися на інших сайтах


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

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

Надіслати
Поділитися на інших сайтах

Скриншот:

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

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

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

Версия CMS 1.5.6.4

Надіслати
Поділитися на інших сайтах


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

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

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

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

Надіслати
Поділитися на інших сайтах

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

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

 

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

 

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

 

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

 

Надіслати
Поділитися на інших сайтах


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

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

Надіслати
Поділитися на інших сайтах


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

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();
Надіслати
Поділитися на інших сайтах

  • 4 weeks later...

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

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

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

Надіслати
Поділитися на інших сайтах


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

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

 

2015-yy-zz 7:32:12 - processing.email: [email protected]
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-адрес был некорректный. Как результат - при попытке отправки сообщения почтовый сервер возвращал ошибку. 
 
После этого в разделе "Продажи" -- "Покупатели" -- "Покупатели"  остаётся просто выполнить поиск по [email protected] и либо удалить такого пользователя, либо изменить email на корректный и повторить попытку. 
 
 
Если что-то не получится - пишите, попробую в порядке закрепления изученного материала помочь с этим вопросом. :) 
Надіслати
Поділитися на інших сайтах


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

 

 

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

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

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах


php 5.2+, filter_var()

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

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.