Jak zjistím jestli mail došel?

2 příspěvky

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Dobrý den, jelikož mi už dochází nápady, rád bych si poslechl nápady ostatních, kde by mohl být zakopán pes. Situace se má asi takto. V části skriptu odesílám dosti důležitý email a je pro mě důležité alespoň vědět, že pokud se neodeslal, tak, že se neodeslal. Z tohoto důvodu zapisuji podle return value funkce mail() do textového souboru výsledek. Co je na celé situaci velmi zákeřné je, že v 98 případech ze 100 se mail odešle a ano záznam = success tam opravdu je, ALE občas se stane, že skript tvrdí, že mail odešel, tj. zapíše se success, ale mail prokazatelně nedorazí. Představuji si, že server odešle mail a řekne skriptu, že všechno je ok, a server později zjistí, že je blbě mailovka nebo něco a mail je nedoručitelný, ale to už nezjistím. Ač je to v tomto případě takřka zbytečné, když tato část funguje, ale zde je ukázka kódu, která posílá mail (tj. mechanismus popsaný výše): ------------------------------------------------- $result = mail($email,"Subject",$msg,"From: Sender <sender@domain.com>\r\nReply-To:Sender <sender@domain.com>\r\nMIME-Version: 1.0\r\nContent-Type: text/html; charset=utf-8\r\n"); if($result) { $log_record = '---- : (cs) '.date("Y-m-d H:i:s").' to '.htmlspecialchars($email).'=success'.PHP_EOL; } else { $log_record = '**** : (cs) '.date("Y-m-d H:i:s").' to '.htmlspecialchars($email).'=FAILURE'.PHP_EOL; } fwrite($f, $log_record); // zapis do logu ------------------------------------------------- Předem děkuji za jakoukoliv radu nebo vysvětlení co se tam přesně děje, neboť do tohoto osobně moc nevidím, a proto mám problém lokalizovat problém. PS: 2 věci: 1) jsem si vědom limitu 10 mailů/hod (pokud to nezmělily v posledních letech), ale pak by stejně měla mail() vrace false a to by pak nebyl tento problém 2) nepadá to do spamu, maily opravdu nejsou
  2. Dobrý den, odesílání přes php funkci mail() lze používat, ale nikdo vám negarantuje 100% doručování. Vše záleží od XY nastavení. Pokud použijete email odesilatele na nějaké doméně která dle SPF nepovoluje naše servery a DMARC přidáva další pravidla, server příjemce email zahodí a nedostane se ani do spam složky. PHP funkce mail vám bude pokaždé tvrdit že email odeslala (pokud příkaz neobsahuje chybu), protože se tak stalo, z webhostingového serveru email odejde. Následně ale prochází kontrolou množství odeslaných email na předřazené proxy a nemusí být puštěn dál do internetu. Osobně pro odesílání emailů doporučuji odesílání vykonávat pomoci SMTP například vaši email schránky.

← Zpět na všechna témata