[ picos_f @ 31.05.2009. 18:53 ] @
Na mom sajtu kada odem na Forgot Password i popunim mail i sigurnosni kod, kliknem posalji onda malo duze sacekam i onda pise da je pass poslat na mail ali uopste ne stize. Jel moze mala pomoc oko ovoga. Ovo je moja scirpta zxa Forgot Password opciju.

Code:

<?

...

$s = mysql_query("SELECT * FROM tb_users WHERE email='{$_POST['email']}'");
$x = mysql_fetch_array($s);
$_SESSION['next_reseptsend'] = 1;
$message = "Hello {$x['username']},
You requested to resend your account password a while ago.

Account Username: {$x['username']}
Account Password: {$x['password']}

blalalalallalalallalalalalalal,

Thanks,
{$config['site_name']}";
mail($x["email"],"Password Retrieval - ".$config["site_name"],$message,"From: mail@".$_SERVER['HTTP_HOST']);
print "<b>Password Sent!</b><br />
We have dispatched your password to your email address.<br />
You can only make another account retrieval again in 15 minutes.<br />";

...

?>


edit: Uklonjen nepotreban kod, promenjen naslov.

[Ovu poruku je menjao Goran Rakić dana 31.05.2009. u 20:06 GMT+1]
[ Goran Rakić @ 31.05.2009. 19:02 ] @
Koja je povratna vrednost funkcije mail()? Da li si proverio spam sanduče?
[ picos_f @ 31.05.2009. 19:04 ] @
Nema nigde. 100x sam poslao i nema. Gde da pogledam to
[ Nikola Poša @ 31.05.2009. 19:06 ] @
Stavi samo jedan echo ispred tog poziva mail f-je, pa vidi šta će da ispiše ispred tog Password Sent...
[ Goran Rakić @ 31.05.2009. 19:07 ] @
mail() funkcija vraća ceo broj kao povratnu vrednost. Sačuvaj ga u neku promenljivu ($ret = mail(...) i potom ispiši vrednost $ret pomoću var_dump($ret);.
[ picos_f @ 31.05.2009. 19:13 ] @
jel moze malo detaljnije jer bas ne kapiram a i nisam mnogo upucen; izvini zbog toga
[ MMX @ 31.05.2009. 19:34 ] @
Code:

<?php
// sledecu liniju
// mail($x["email"],"Password Retrieval - ".$config["site_name"],$message,"From: mail@".$_SERVER['HTTP_HOST']);
// zamenis sa
$ret = mail($x["email"],"Password Retrieval - ".$config["site_name"],$message,"From: mail@".$_SERVER['HTTP_HOST']);
// i ispod dodas
var_dump($ret);
?>


Ovo će ispisati povratnu vrednost mail f-je.
[ picos_f @ 31.05.2009. 19:42 ] @
Nece ponovo. Sada pise

bool(true) Password Sent!
We have dispatched your password to your email address.
You can only make another account retrieval again in 15 minute

[ Goran Rakić @ 31.05.2009. 19:48 ] @
Pa i nije trebalo da magično proradi. Sada si samo saznao da mail() funkcija ne prijavljuje nikakvu grešku (vraća True, što znači da je sve ok).

E-pismo ti se gubi verovatno zbog nekog spam filtera. Moguće da ti je host na nekoj crnoj listi, ili da ne prihvata "From:" zaglavlje koje dostavljaš.

Druga mogućnost je da PHP nije ispravno podešen na serveru tako da se ne obraća ispravnom SMTP serveru, ili da SMTP server uopšte ne radi.

Žali se tehničkoj podršci dobavljača usluge hostinga, a ako ti ni oni ne pomognu, probaj da koristiš neku klasu koja šalje e-poštu direktno preko SMTP-a.
[ MMX @ 31.05.2009. 19:49 ] @
bool(true) znači da je mail f-ja odradila posao kako treba. Jesi li siguran da je u tvom profilu uneta prava email adresa?
[ picos_f @ 31.05.2009. 19:54 ] @
sada sam video da pise da smtp ne radi ali da PHP Sendmail radi. jel moze neka mala izmena ili kako vec
[ vojabgd @ 01.06.2009. 23:07 ] @
Citat:
E-pismo ti se gubi verovatno zbog nekog spam filtera. Moguće da ti je host na nekoj crnoj listi, ili da ne prihvata "From:" zaglavlje koje dostavljaš.

I ja imam isti problem. Na hotmailu i msn-u čim se postavi "From:" header, mail ide u junk mail.
Da li postoji neko rešenje? Možda fsockopen umesto mail funkcije?
Treba mi za mailing listu, ode mi cela u junk folder.
[ Goran Rakić @ 01.06.2009. 23:17 ] @
Ako u „From“ staviš [email protected] šalji poštu sa servera koji je zadužen za domen.com (MX zapis u DNS zoni) ili ako to ne možeš makar ispravno podesi SPF zapise.

Proveri da server sa koga šalješ nije na nekoj crnoj listi.

Još neke putokaze možeš da dobiješ pregledom koda pisma gde Hotmail i ostali obično upisuju među zaglavlja razlog zašto je pismo klasifikovano kao neželjena pošta.