Autor Zpráva
xlifer
Profil
Už si nevím rady, prošel jsem zde na fóru spoustu příspěvků ohledně funkce mail(), taky jsem Googloval, ale bez výsledku...

Mám takový problem, že na localhostu testuji jeden skript ve kterém chci jednoduše poslat přes funkci mail() zprávu, ale pokud do ní předám email adresu pomocí proměnné, tak se jakoby úspěšně odešle, ale nic nepřijde, když zadám email adresu přímo, tedy ne v proměnné, tak zpráva normálně přijde. Je do divné, ale fakt netuším čím to je.

mail("muj@email.cz", "predmet", "zprava"); // toto funguje bez problemu a zprava prijde

$adresa = "muj@email.cz";
mail($adresa, "predmet", "zprava"); // v tomto pripade, mi uz zprava neprijde!

Nevíte kdy by mohl být problém?
Alphard
Profil
Na první pohled tam nevidím problém. Přes jaký mail server to posíláte? Nemůže být vaše testování zkreslené zpožděním v doručení, padáním části zpráv do spamu, překlepu v adrese apod.?
xlifer
Profil
Alphard:

[mail function]
; For Win32 only.
SMTP = mail.upcmail.cz

Spoždění ani překlep v adrese to není, to už jsem zkoumal hned, když mi to něšlo a padání do spamu to být taky nemůže, protože když zpráva přijde v prvním případě není přece možné, aby ve druhém případě spadla do spamu jen kvůli tomu, že jsem poslal email adresu přes proměnnou. Je to fakt divný... Jsem zvědav co z toho vyleze za příčinu, pokud se teda najde.
Anib
Profil *
nějakej mail log by nebyl?
Taps
Profil
xlifer:
používáš funkci mail na localhostu nebo na webhostingu ?
xlifer
Profil
Anib:

Odkud mam jakej log vzít? Nevím.


Taps:

Na localhostu.
Zechy
Profil
xlifer:
Na localhostu neni by default žádnej SMTP server co by to odeslal, tudíž ono se ani nic neodešle.
xlifer
Profil
Zechy:

Nechápu jak to myslíte? Psal jsem, že mi odesílá, ale v případě když předám email adresu v proměnné, tak mi zpráva nepřijde, tudíž řeším tuto záhadu. Nevím jestli jste dobře pochopil... nebo jsem pochopil špatně ja vás.
Tori
Profil
xlifer:
Jenom tip naslepo: Nemáte zapnutý akcelerátor? Nedávno jsem se setkala s dost nelogickou chybou, kterou způsoboval, taky se to týkalo použití proměnných.
xlifer
Profil
Tori:

Nevím to určitě, ale možná něco od PHP Zend... kde nebo jak to zjistím přesně? Přes phpinfo(); ? Už nevím jestli to byl nějaký modul/extension nastaven v php.ini nebo httpd.conf
Tori
Profil
phpinfo, byla by tam celá sekce označená např. "eAccelerator" nebo "APC", podstatné je nastavení enable.
A v error logu serveru není žádná chyba napsaná? To bude asi lepší zkusit jako první. (jestli nevíte, kde ho najít, tak si můžete v .htaccess nastavit jakýkoli vhodný soubor a dát mu příslušná práva pro zápis.)
xlifer
Profil
Tori:

V error logu nic není a v php info je ten Zend (jestli je to accelerator) takto:

Zend Extension: 20050606
Debug Build: no
Zend Memory Manager: enabled
Thread Safety: enabled
ForestCZE
Profil
xlifer:
mail($adresa, "predmet", "zprava"); // v tomto pripade, mi uz zprava neprijde!


Zkus použít toto:

$adresa = $_POST["adresa"] = "muj@email.cz";
$predmet = $_POST["predmet"] = "Predmet emailu";
$zprava = $_POST["zprava"] = "Text zpravy";
$od = $_POST["od"] = "emailod@email.cz";

Mail($adresa, $predmet, $text, "From: ".$od."");
xlifer
Profil
ForestCZE:

Ani toto nepomohlo, už fakt nevím. Je to asi něco mezi nebem a zemí jak se říká... Ještě někdo nějaké nápady nebo doporučení?


Tak nakonec jsem na to přišel a už mi to odesílá, ale i tak je to podivná situace.

Problém byl, že jsem neměl v nastavení php.ini "smtp_port = 25". Když jsem toto doplnil, tak mi začal email chodit i přes adresy v proměnné.

Ale i tak je divné chování v tom, že jsem to tak měl celou dobu a nikdy s tím nebyl problém až teď to bez toho nastavení portu začalo zlobit. Napadá mě buď nějaká aktualizace něčeho ve Windows či antiviru, netuším. Něco kolem nastavení portu SMTP... zabezpečení.

Tak hlavně, že to funguje. Už jsem z toho byl docela mimo...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: