Przy wysyłaniu dużej liczby maili nginx zwraca błąd 504 Gateway Timeout

0

Witam, mam taki problem, postawiłem sobie serwer nginx na debianie a na nim skryptem php wysyłam maila do pojedyńczej osoby za pomocą funkcji mail(). Sytuacja jest taka, że gdy rozpoczynam wysyłanie, to po jakimś czasie na stronie ukazuje się błąd Nginx 504 Gateway Timeout, a mimo to po jakimś czasie wiadomość mailowa dociera do swojego adresata. Jak można uniknąć tego timeoutu w taki sposób, że po 2-3 sekundach strona normalnie by sie przeładowała bez żadnych timeout'ów?

0

Zapisywać maile w kolejce w bazie i wysyłać w osobnym procesie, sprawdzając cronem co 5 minut czy jest jakiś mail do wysłania.

edit: kolejny wątek ma mieć lepszy temat, ten poprawiłem, następny znajdziesz w koszu

0

Ale ja nie powiedziałem, że wysyłam na wiele adresów mail. Wykonuję tylko jedno wywołanie mail, a ono powoduje timeout gdzieś po minucie, a wiadomość i tak dociera gdzieś po paru minutach, jak to naprawić, czy to coś z configiem mam zmienić?

0

Zacznij od niewysyłania maili "gołą" funkcją mail, która powoduje wiele innych problemów (przedwczoraj bodajże pisałem, że wspominam o tym na forum po raz milionowy, ten jest milion pierwszy). Użyj biblioteki phpMailer.

A maile TAK CZY TAK powinieneś wysyłać w tle!

1 użytkowników online, w tym zalogowanych: 0, gości: 1