Uživatelské nástroje

Nástroje pro tento web


php

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
php [2014-03-04 08:10] – [Rozesílání mailingů] fuxaphp [2018-03-08 17:37] (aktuální) – [Chci najednou poslat x tisíc mailů] typo fuxa
Řádek 19: Řádek 19:
   - Mail server může mít základní spam filtr, který má zabránit odesílání spamu z www serveru. Spam filtr by neměl propustit zprávy, které by jiné mail servery označily za jednoznačný spam.   - Mail server může mít základní spam filtr, který má zabránit odesílání spamu z www serveru. Spam filtr by neměl propustit zprávy, které by jiné mail servery označily za jednoznačný spam.
   - Spam filtr (pokud je zapojen) notifikuje odesílatele zprávy která je špatně formátovaná (obvykle ''BAD_HEADER'').   - Spam filtr (pokud je zapojen) notifikuje odesílatele zprávy která je špatně formátovaná (obvykle ''BAD_HEADER'').
 +
 +===== Log odeslaných emailů z webu =====
 +Logy najdete v adresari ''log'' (jedna uroven nad wwwroot) a jsou dva
 +  * ''mail.log'' = emaily prijate do fronty
 +  * ''smtp.log'' = predani na cilovy SMTP server
 +
 +Obsahuji log pro emaily za dnesek. \\
 +Frekvence generovani je kazdych 30 min. \\
 +Za predchozi dny budou dostupne (rotovany) s ciselnym sufixem. \\
 +
 +Technicky, jake emaily budou v tomto logu
 +  * poslano pres PHP funkci mail() nebo SMTP localhost
 +  * message-id je ...@[www.]domena.tld \\ napriklad ...@unihost.cz nebo ...@www.unihost.cz
 +  * zatim nemusi zahrnovat 3d (napriklad faq.unihost.cz), pokud message-id nevyhovuje predchozimu. doresime nekdy pozdeji.
 +
  
 ===== Chci najednou poslat x tisíc mailů ===== ===== Chci najednou poslat x tisíc mailů =====
Řádek 25: Řádek 40:
 Dále limit přijatých zpráv cílových mail serverů od našeho serveru. Tento limit je závislý na třetí straně a obvykle není zveřejněn (například seznam.cz). \\ Dále limit přijatých zpráv cílových mail serverů od našeho serveru. Tento limit je závislý na třetí straně a obvykle není zveřejněn (například seznam.cz). \\
 Tzn zprávy budou vloženy do fronty a pokud neexpirují, budou v čase odeslány-doručeny. K expiraci zprávy ve frontě - prohlášení za nedoručitelnou, dojde po 48 hod, v případě odmítání cílovým mail serverem po 24 hod. \\ Tzn zprávy budou vloženy do fronty a pokud neexpirují, budou v čase odeslány-doručeny. K expiraci zprávy ve frontě - prohlášení za nedoručitelnou, dojde po 48 hod, v případě odmítání cílovým mail serverem po 24 hod. \\
-Pro odesílání velkých dávek mailů je "best practice"jejich uložení do fronty aplikace a postupné uvolňování do fronty mail systému. V PHP lze použít například knihovnu [[http://pear.php.net/package/Mail_Queue|Pear Mail_Queue]].+Některé mail servery, například seznam.cz, mohou pro větší mailingy vyžadovat DKIM nebo SPF, viz [[http://seznam.seznamblog.cz/post/108069343301/seznamcz-email-zp%C5%99%C3%ADs%C5%88uje-svoji-antispamovou|Seznam.cz Email zpřísňuje svoji antispamovou politiku]]. \\ 
 +[[http://napoveda.centrum.cz/index.php?/Knowledgebase/Article/View/151/0/|Centrum.cz - Pravidla pro rozesílání většího objemu zpráv]] \\ 
 +[[https://fbl.seznam.cz|Seznam.cz - Posílání hromadných zpráv]] \\
  
 ===== Rozesílání mailingů ===== ===== Rozesílání mailingů =====
Řádek 66: Řádek 83:
  
 ===== Generování PDF v PHP ===== ===== Generování PDF v PHP =====
-Lze použít knihovny (class) například: [[http://www.fpdf.org/|FPDF]], [[http://www.ros.co.nz/pdf/|R&OS pdf]] ... \\+Lze použít knihovny (class) například: [[http://www.fpdf.org/|FPDF]], [[https://github.com/rospdf/pdf-php|R&OS pdf]] ... \\
 Pokud víte o jiné která u nás funguje, dejte nám vědět. \\ Pokud víte o jiné která u nás funguje, dejte nám vědět. \\
  
Řádek 141: Řádek 158:
  
 Testováno na PHP 5.3.9, 5.3.10, 5.3.28. Dokumentace [[http://cz.php.net/imap_open|imap_open]]. Testováno na PHP 5.3.9, 5.3.10, 5.3.28. Dokumentace [[http://cz.php.net/imap_open|imap_open]].
 +
 +===== PHP FPM a REDIRECT_URL =====
 +v [[http://cz1.php.net/manual/en/install.fpm.php|FPM]] verzi neexistuje ''$_SERVER['REDIRECT_URL']'' narozdíl od Apache PHP module. \\
 +Naivní způsob nahrazení
 +<code php>
 +$REDIRECT_URL = (strpos($_SERVER['REQUEST_URI'], '?') ? substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'], '?')) // obsahuje QUERY_STRING
 +:  $_SERVER['REQUEST_URI']);
 +</code>
 +
 +===== PHP FPM a REMOTE_USER =====
 +Pro [[http://httpd.apache.org/docs/current/mod/mod_auth_basic.html|Apache HTTP Basic Authentication]] v [[http://cz1.php.net/manual/en/install.fpm.php|FPM]] verzi neexistuje ''$_SERVER['REMOTE_USER']'' narozdíl od Apache PHP module. Ale je zde ''$_SERVER['REDIRECT_REMOTE_USER']'' a také ''$_SERVER['Authorization']''. Testováno na 5.5.21 a 5.3.21.
 +
 +===== Změna PHP conf =====
 +PHP běžící jako [[http://cz.php.net/manual/en/install.fpm.php|FPM]] nečte upravené PHP conf z ''.htaccess'' (například //php_flag short_open_tag on//), ale z [[http://cz.php.net/manual/en/configuration.file.per-user.php|.user.ini]]. \\
 +Naopak uvedení ''php_flag'' v ''.htaccess'' vede k ''HTTP/1.1 500 Internal Server Error'', \\
 +v HTTP error logu (ISPA = HTTP debug log) pak chyba: \\
 +''[alert] ... .htaccess: Invalid command 'php_flag', perhaps misspelled or defined by a module not included in the server configuration'' \\
 +
 +Hodnoty jsou cached by PHP: //user_ini.cache_ttl controls how often user INI files are re-read. The default is 300 seconds (5 minutes).// \\
 +Správné použití je tedy
 +<code>
 +# .user.ini
 +short_open_tag=on
 +max_input_vars=2000
 +</code>
 +
 +===== WordPress zabezpečení =====
 +  * [[https://codex.wordpress.org/Hardening_WordPress|Hardening WordPress]]
 +  * [[https://www.owasp.org/index.php/OWASP_Wordpress_Security_Implementation_Guideline|OWASP Wordpress Security Implementation Guideline]]
php.1393917039.txt.gz · Poslední úprava: 2014-03-04 08:10 autor: fuxa

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki