[ bujika @ 04.03.2004. 18:01 ] @
Imam problem sa slanjem mejla koristeci aplikaciju koju sam napisao u PHP-u.

Kada se mejl posalje, na npr. Yahoo, primalac poruke dobija da je mejl poslao npr.
[email protected], umesto [email protected].

Problem je nastao pre neki dan, kada sam iskompajlirao PHP. Do tada je sve radilo korektno. Moguce je da sam nesto izostavio prilikom konfiguracije?

Probao sam sve sto sam umeo, probao sam razne forme komande mail, pokusavao sam i sa ini_set, ali rezultat je uvek isti.

Server je RedHat 9. PHP je 4.3.4.


Veliko hvala unapred!
[ Dejan Krstic @ 05.03.2004. 00:39 ] @
Jesi pogledao php.ini?
[ popeye @ 05.03.2004. 00:54 ] @
Code:
mail($adresa, $naslov, $poruka, "From: [email protected]\r\n");
[ bujika @ 05.03.2004. 06:13 ] @
Za oba gornja posta: Naravno da sam gledao php.ini i da sam koristio taj tip funkcije mail.

Ali, uvek se posalje mejl sa lolcalhost.localdomain adresom.
:-(((
[ Jbyn4e @ 05.03.2004. 10:12 ] @
A sta ti stoji u php.ini? Koja verzija php-a je pre toga bila? Da li saljes iz forme neke na mail, s tim da, ukoliko je prethodna verzija php-a bila < 4.1 , nisi ranije koristio _POST i _GET varijable, vec si samo "obicno" uzimao $mail (ili neku slicnu) promenljivu?
Moja pretpostavka da ti je problem sa register globals u php.ini - posto se to izmenilo posle php 4.1. Probaj da promenis u php.ini sendmail_from = [email protected] (ili sta li ti vec stoji) u nesto drugo (i da otkomentarises), pa da vidis da li ti stize na yahoo sa te adrese koju si upisao. Ako je tako, garant je problem sa register globals i _POST i _GET metodama.
[ bujika @ 05.03.2004. 11:12 ] @
Da, definitivno je problem u podesavanju PHP-a!

Kada sam poslao mejl iz najobicnijeg skripta, sa

mail("$adresa", "$naslov 3", "$poruka", 'From: [email protected]');

... mejl se poslao na Yahoo korektno.

Dok sa npr.
mail("$adresa", "$naslov 3", "$poruka", "From: [email protected]\r\n'');

... opet ode u formatu localhost.localdomain


Znaci, problem je bio u navodnicima!

Register Globals je podesen na On:
register_globals = On

Sta sam propustio da promemenim u php.ini fajlu?!
[ Dejan Krstic @ 05.03.2004. 14:19 ] @
Hmmm.........zaista nemam ni php ni apache ovde instalirane ali.......... sve mi to nesto smrdi na httpd.conf....
[ bujika @ 06.03.2004. 18:00 ] @
Zasto httpd.conf?


Znas li mozda kako da "zaobidjem" te navodnike putem programiranja?
[ _owl_ @ 06.03.2004. 23:04 ] @
A meni smrdi na \r\n koje si stavio na kraj u prvom slucaju
(\r\n se koriste kao separator extra headera pa mozda tu
dolazi do problema jer si ih ti stavio na kraj).
[ bujika @ 07.03.2004. 16:20 ] @
Ne
:-(


Probao sam sve varijante sa \r i \n, i uvek je localhost.localdomain ako su u pitanju dupli navodnici.........
:-(((((((((((
[ _owl_ @ 08.03.2004. 23:36 ] @
Mislio sam da izbacis \r\n.
[ bujika @ 09.03.2004. 08:10 ] @
Da, i to sam probao (bez \r, ili bez \n, ili bez oba), ali uvek isto.
[ bujika @ 09.03.2004. 10:08 ] @
Ovako... Nije ni \r ni \n, vec kada imam neki znak ili slovo mejl se posalje, i receipment je npr. [email protected]_taj_znak. Znaci moze da bude najobicnije slovo. Ali onda se to slovo uvek dodaje u domen.

Ako umesto tog znaka stavim space, mejl je poslat sa localhost.localdomain.


Kako da se resim toga? Gde gresim? Evo koda koji koristim za definisanje headera:

$headers .= 'From: '.$from;

$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: MULTIPART/MIXED;" .
" BOUNDARY=\"{$mime_boundary}\"";


Dok, ako stavim npr.
$headers .= 'From: Bujika <[email protected]>';

... opet se vracam na staro, i sender je Bujika <[email protected]>



Kontam da smo na pola koraka do resenja.
[ u_m @ 09.03.2004. 10:28 ] @
Code:
 
    $mailheaders = "From: $name<$email> \n";
    $mailheaders .= "Reply-To: $name<$email>\n\n";
[ bujika @ 11.03.2004. 06:10 ] @
Pozdrav!

Pomerio sam se sa mrtve tacke i skontao sam sta je problem, ali ne umem da ga resim.


Dakle, ako se mejl posalje sa adrese [email protected] (ime servera je naravno izmisljeno, ali taj server je zaista hosting za jedan domen), mejl se posalje sa adrese [email protected].

Ali ako bih poslao mejl, gde bi sender bio npr. [email protected], sender bi bio [email protected].

Znaci, ako posaljem mejl sa adrese sa domena koji se hostuje na serveru, adresa koju dobije primalac poruke je localhost.localdomain. Ako slazem adresu, mejl se posalje korektno (sa nepostojece adrese).


Gde je greska?



P. S. Oaj post saljem po drugi put. Ne znam zasto mi je moderator prethodni put obrisao poruku, kada je moj post samo nastavak onoga o cemu razgovaramo u proslih nedelju dana, i pogotovu sada kada smo stvarno blizu da resimo problem.
[ liban0n @ 11.03.2004. 09:45 ] @
da nije problem sa serverom ???

probaj prosljedit mail help desku ili adminu servera mozda je problem do njih!
[ s-o-n-i-c @ 23.03.2004. 13:12 ] @
Uh, ne bih znao da ti kazhem u chemu je problem ali ja recimo veselo koristim HTML mime mail klasu Richarda Hayes-a sa PHPguru.org i works fine.. shalje mejlove ko zmaj...