И еще небольшой вопрос-если действительно у меня тоже проблема в планировщике задач, то почему в свое время (года два назад) делал магазин так же на бесплатной Magento, там все оповещения без каких-либо бубнов с кроном приходили?
Неужели у все все работает?
Итак что я намучал - письма абоненту приходят только о регистрации или при нажатии на забытый пароль. А так же если в админке зайти в заказ и нажать доставку, то тоже приходят письма. Больше никаких не посылает (счет, письмо о заказе, письмо при оформлении заказа). Cron включен, но например на почту администратора магазина сообщения приходят до выполнения Cron.php. В письмах пытался слать стандартные шаболоны, пытался свои, загруженные из стандартных, ничего не шлет.10 раз уже проверял сами E-mail'ы магазина, везде проставил одинаковые, все письма так же отправляет "Общий контакт". Все же как-то странно, что письма приходят избирательно, т.е. почта работает, никто не блочит - ни хостинг, ни Magento, но блин самые нужные письма не приходят.
Я уже совсем не знаю что делать, в соседних темах сообщения появляются, в этой только я сам с собой разговариваю.
Не отвечают, потому, что помочь удалённо не получится. Всё, что могли, уже упомянули в теме - дальше только смотреть на сервере.
Почему частично уходят - потому, что в Magento с версии 1.9 письма отправляются двумя способами - по крону и сразу.
Вам надо разбираться, что не так с отсылкой по крону. У одного из клиентов проблема была в настройке сервера, через который отправлялись письма - сервер возвращал ошибку при отправке письма, первого в очереди, и прерывал выполнение скрипта. Потом снова запускался скрипт по расписанию и снова ошибка и ...
Вариантов куча.
Премного благодарен. В версии Magento 1.8 и ниже, как я понял, такого не наблюдается и письма отправляются сразу? По запуску Cron.php на почту прихоит вот такой ответ:
converted 'http://*****/cron.php' (ANSI_X3.4-1968) -> 'http://****/cron.php' (UTF-8) --2015-07-14 12:25:01-- http://****/cron.php Resolving *****.ru (*****.ru)... 77.222.61.9 Connecting to ****.ru (*****.ru)|77.222.61.9|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 0 [text/html] Saving to: '/dev/null' 0K 0.00 =0s 2015-07-14 12:25:01 (0.00 B/s) - '/dev/null' saved [0/0]
зазвездил, чтобы не посчитали за рекламу. Хост в принципе не менял с прошлого магазина (хотя давно это было, может они чего понастроили там)
А может ли помочь установка дургого модуля, а не SMTP pro, может он с smtp от spaceweb.ру не дружит?
Heartbeat от AOE Scheduler показывает что статус " core_email_queue_send_all " в ожидании (pending) как будущие задачи (что логично), так и прошедшие.
Заранее благодарен, если подскажете в какую сторону еще можно покопать.
Стоит копать в сторону поиска ошибок - смотреть функции отправки. Модули скорее всего не помогут.
В версии 1.9 отправка почты о заказа чдет не сразу а через очередь рассылки. См. /Mage/Core/Model/Email/Template/Mailer.php. Стоит сделать заплату типа
$emailTemplate->setDesignConfig(array('area' => 'frontend', 'store' => $this->getStoreId())) // ->setQueue($this->getQueue()) ->sendTransactional( $this->getTemplateId(), $this->getSender(), $emailInfo->getToEmails(), $emailInfo->getToNames(), $this->getTemplateParams(), $this->getStoreId() ); }
то есть закомментарить cnhjre ->setQueue( ...).
Не стоит модифицировать ядро.
Лучше разобраться почему не отправляется и решить проблему. Старые письма так и не уйдут.
evmedvedev,
вот вот вот вот не представляете, какое огромное спасибо Вам за столь полезный материал - письмо сразу же пришло (на пару секунд увеличилось время прогрузки страницы success, но видимо потомучто отправлялось письмо). Прям благодарность огромная. (пока, конечно, только попробовал один раз и один вариант, но ведь работает же )
2niro понятное дело, что ядро не стоит модифицировать, но как временное решение, думаю, пойдет. Тем более, что все такие модификации я собираю в файлик-зачем, что, где и когда модифицировал, делаю бэкапы и прочие меры безопасности.
P.S. да, ничего нет более постоянного, чем временное Во всяком случае потестирую (тем более, что магазин у меня новый, пока местный (Липецк), если что-то пойдет не так, отпишу тут.
P.P.S. я так понимаю, закомментив эту строку, отменил постановку письма в очередь Cron и отправил его сразу?
Вы только этот файл с путем /Mage/Core/Model/Email/Template/Mailer.php положите в каталог app/code/local чтобы исходный код двжика не трогать. Ну или совсем уже можно извратиться и написать свой модулек чтобы этот класс override(ом) перекрыть.
На счет результата комментирования строки - да. Теперь письмо отправляется сразу, а не через очередь рассылки.