]]>

Wysyłka newsletter'a w magento

2012-05-14 09:43 przez administrator

Celem tego artykułu nie jest opisanie krok po kroku jak stworzyć szablon newsletter i zaplanować jego wysyłkę, gdyż te czynności po chwili samodzielnej zabawy prawdopodobnie każdy wykonał prawidłowo sam.

Najwięcej wątpliwości, czy wszystko jest skonfigurowane poprawnie przynosi natomiast fakt, że wysyłka uruchomionej kolejki newsletter stoi w miejscu. W artykule postaramy się wyjaśnić związane z tym kwestie.

 

Magento Cron

Za wysyłkę wiadomości w Magento odpowiada mechanizm Cron. Po wiecej informacji na temat Cron odsyłamy do innego artykułu, w którym omówiliśmy jego zastosowanie i konfigurację w Magento. Z artykułu dowiesz się między innymi, że zadania Cron możesz uruchomić ręcznie odwiedzając w przeglądarce adres sklepu:

www.adressklepu.pl/cron.php


Dlaczego więc po kilkukrotnym z rzędu uruchomieniu adresu, kolejka wysłanych maili stoi w miejscu ? Tu zbliżamy się do kolejnej kwestii jaką jest częstotliwość wysyłanych wiadomości newsletter. Konfiguracja Cron modułu newsletter znajduje się w pliku pod ścieżką w katalogu sklepu:

app/code/core/Mage/Newsletter/etc/config.xml


Znajdziemy w nim wpisy:

<crontab>
<jobs>
<newsletter_send_all>
<schedule>
<cron_expr>*/5 * * * *</cron_expr>
</schedule>
<run>
<model>newsletter/observer::scheduledSend</model>
</run>
</newsletter_send_all>
</jobs>
</crontab>


Domyślna konfiguracja planuje więc wysyłkę porcji maili z kolejki newsletter co każde 5 minut. Zatem dopiero każde kolejne uruchomienie Cron po upływie tego czasu spowoduje wysłanie kolejnej porcji. Jeśli chcesz, by wysyłka była uruchamiana przy każdym uruchomieniu Cron zamień powyższy fragment kodu na:

<crontab>
<jobs>
<newsletter_send_all>
<schedule>
<cron_expr>* * * * *</cron_expr>
</schedule>
<run>
<model>newsletter/observer::scheduledSend</model>
</run>
</newsletter_send_all>
</jobs>
</crontab>

teraz przy każdym uruchomieniu Cron zostanie wysłanych kolejne 20 maili.

 

countOfSubscritions

Za liczbę jednorazowo wysyłanych maili odpowiada zmienna $countOfSubscritions. Możesz zmienić jej wartość w pliku:

app/code/core/Mage/Adminhtml/controllers/Newsletter/QueueController.php

szukaj zmiennej:
$countOfSubscritions = 20;

 

Serwer / czas lokalny

Innym z powodów, dla którego maile newsletters mogą nie być wysyłane jest różnica czasu lokalnego z tym ustawionym na serwerze, gdzie hostujesz sklep. W rezultacie wysyłka, którą chcesz zaplanować od razu, ustawiona jest na całkiem inny czas, być może z przeszłości i nie zostanie wysłana nigdy.

Wróć

Zobacz również