Fórum Root.cz

Hlavní témata => Server => Téma založeno: krakonoš 07. 11. 2012, 21:39:13

Název: Limit odesílání mailů přes PHP
Přispěvatel: krakonoš 07. 11. 2012, 21:39:13
jde na serveru nejak osetrit tato situace?


<?php
while(1)
  mail(...);
?>


v php jsem na to neprisel, asi jen omezit dobu behu skriptu. Slo by to resit i na strane SMTP serveru? (postfix)
diky
Název: Re:Limit odesílání mailů přes PHP
Přispěvatel: Petr Krčmář 07. 11. 2012, 21:49:37
Nevím o tom, že by to v PHP šlo. Je třeba to řešit na straně odesílajícího SMTP serveru. Zmiňovaný Postfix to umí, v /etc/postfix/main.cf hledej položky anvil_rate_time_unit (čas, po kterém se vynuluje počítadlo) a smtpd_client_message_rate_limit (kolik je možné v tomto limitu poslat mailů). Pokud chceš některé klienty z tohohle limitu vyjmout (náš automatický mailer může posílat, kolik chce), vyjmenuješ je do smtpd_client_event_limit_exceptions. Snad to takhle stačí.
Název: Re:Limit odesílání mailů přes PHP
Přispěvatel: DK 07. 11. 2012, 21:52:45
pripadne udelat handler na mail funkci (takovy mensi override normalni funkce), nebo tu funkci rovnou zakazat
Název: Re:Limit odesílání mailů přes PHP
Přispěvatel: krakonoš 08. 11. 2012, 12:07:47
diky
toto jsem ted zkusil a funguje to, kdyz posilam z existujici schranky. Kdyz posilam z php pres mail(), tak je ten limit neucinny. Cim to muze byt ?

Nevím o tom, že by to v PHP šlo. Je třeba to řešit na straně odesílajícího SMTP serveru. Zmiňovaný Postfix to umí, v /etc/postfix/main.cf hledej položky anvil_rate_time_unit (čas, po kterém se vynuluje počítadlo) a smtpd_client_message_rate_limit (kolik je možné v tomto limitu poslat mailů). Pokud chceš některé klienty z tohohle limitu vyjmout (náš automatický mailer může posílat, kolik chce), vyjmenuješ je do smtpd_client_event_limit_exceptions. Snad to takhle stačí.
Název: Re:Limit odesílání mailů přes PHP
Přispěvatel: krakonoš 08. 11. 2012, 12:15:23
byl to nakonec problem v
smtpd_client_event_limit_exceptions (default: $mynetworks)

stacilo zmenit na prazdny retezec a limity fungujou i pro php