Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

100% dobro napisana skripta za slanje mejla neće da se izvrši

PHP
  • 11 odgovora
  • 4.789 pregleda

Najnovija ↓

100% dobro napisana skripta za slanje mejla neće da se izvrši 07.01.2008. u 11:46 · pre 229 meseci
izmenjeno 1 put, poslednji put Duka91 07.01.2008. u 16:06
  1. Duka9107.01.2008. u 16:06zapis iz teksta poruke
#1
Ovako, na sajtu sam uradio da posetilac može da ostavi komentar i da se to meni pošalje na mejl.
Evo koda kojim to pokušavam da odradim:
Code:
<?php
$prima="[email protected]";
$ime=$_POST["ime"];
$poruka=$_POST["komentar"];
mail($prima, $naslov, $poruka);
?>

U HTML kodu kada se klikne na "Pošalji" poziva se mail.php (kod od gore).
Sve sam to lepo ispisao uplodovao na server i probao. Kada sam kliknuo na "Pošalji" otvorila mi se nova stranica "mail.php" bez ikakve greške (znači da je se sripta izvršila). Odem da proverim mejlove kad ono ništa nije stiglo. Probam još par puta i opet isto. Menjao sam adresu na koju šaljem mejl ali opet se isto dešava.
Onda sam napisao sledeću skriptu:
Code:
 <?php
$prima="[email protected]";
$naslov="Proba";
$text="Ovaj mejl je poslat sa www.duka.contrateam.com";
mail($prima, $naslov, $text);
?>

Uplodovao na server pozvao stranicu, ona se izvrši ali meni ne stiže mejl. Opet sam mislio da sam negde pogrešio pa sam prepisao skriptu Nemanje Avramovića iz njegovog maturskog rada:
Code:
<?php  
$prima =”[email protected]”;  
$naslov =”Poruka broj”;  
$text =”Ovo je jednostavan skript koji ce 10\n puta poslati istu poruku na jednu e-
mail adresu”; 
for ($i=1; $i<=10; $i++) { 
  $ok = mail($prima, $naslov . “ $i”, $text);  
  if ($ok) { echo “Poruka broj $i je poslata!<br>\n”; } 
   else { die(“Prekidam!”); } 
} 
echo “<br>\n”; 
echo “Sve poruke su poslate!”; 
?> 
Kada sam pokušao da izvršim skriptu pojavila se greška:
Code:
Parse error: syntax error, unexpected '@' in /home/contrate/public_html/duka/mejlovi.php on line 2

Sada mi ništa nije jasno. Ovaj kod mora da bude ispravan ako predpostavim da moja dva prethodna nisu bila. Ovaj sam samo iskopirao i ispravio mejl adresu. Jel može neko da mi pomogne? Ne vidim u čemu je problem. Početnik sam što se tiče PHP-a.
Potpis
Sreća prati hrabre
Re: 100% dobro napisana skripta za slanje mejla neće da se izvrši 07.01.2008. u 13:22 · pre 229 meseci #3
Tako je, ” nije isto što i ", a meni je u maturskom Word zeznuo navodnike svuda u kodu pa moraš svuda to da ispravljaš. Takođe, moja skripta radi i proveru da li je mejl zaista poslat, pa će ti reći da li jeste ili nije (odnosno da li je omogućena mail() funkcija na serveru ili ne).

p.s. Obrati pažnju da je "pametni" Word stavljao i “ i ” navodnike, što su dva različita karaktera (da znaš ako radiš replace ;))
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: 100% dobro napisana skripta za slanje mejla neće da se izvrši 07.01.2008. u 14:02 · pre 229 meseci
izmenjeno 1 put, poslednji put Duka91 07.01.2008. u 16:05
  1. Duka9107.01.2008. u 16:05zapis iz teksta poruke
#4
Aha znači problem je u navodnicima.
Probao sam " zamenim sa ” svugde u kodu ali opet nije radilo.
Na tastaturi imam " i ' a ove sam kopirao.
Sa kojim navodnikom da zamenim " ?
Edit:
Sada sam gledao na http://www.w3schools.com/php/func_mail_mail.asp i oni su stavljali obične navodnike ("").
A meni sa njima neće da radi.
Edit:
Kakve god navodnike da stavim pojavljuje se ona ista greška:
"Parse error: syntax error, unexpected '@' in /home/contrate/public_html/duka/mail.php on line 2"
Potpis
Sreća prati hrabre
Re: 100% dobro napisana skripta za slanje mejla neće da se izvrši 07.01.2008. u 19:38 · pre 229 meseci #6
beep, nema to veze sa njegovom greskom (parse error) koji je moguc samo kad nije dobro linija zatvorena (npr. fale navodnici, znaci navoda ili slicno).

Duka, dusane, posalji nam ceo /home/contrate/public_html/duka/mail.php koji sad koristis, da vidimo sta je u liniji 2!
Mozes da ga zakacis uz poruku, tako se nece izgubiti nista iz fajla...
Potpis
Kad sve ostalo zakaže, pročitaj uputstvo...
Re: 100% dobro napisana skripta za slanje mejla neće da se izvrši 07.01.2008. u 20:21 · pre 229 meseci #8
Citat:
Duka91:
Probao sam " zamenim sa ” svugde u kodu ali opet nije radilo.


Ne čitaš šta pišem, treba i “ i ” da zameniš sa "
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: 100% dobro napisana skripta za slanje mejla neće da se izvrši 07.01.2008. u 21:33 · pre 229 meseci #9
Jupii evo izvršavaju se sada obe skripte.
Avramova se izvršila i ispisala je text da su svih 10 mejlova poslati ali ni jedan mejl mi nije stigao.
Ni od moje ni od Avramove skripte. Menjao sam i mejl adresu na koju šaljem mejlove ali opet ništa ne stiže.
Šta bi to moglo da bude?
Potpis
Sreća prati hrabre
Re: 100% dobro napisana skripta za slanje mejla neće da se izvrši 07.01.2008. u 22:36 · pre 229 meseci #10
To znači da je PHP uspeo da prosledi poruku mejl serveru koji treba da je pošalje, pa verovatno on negde baguje, ili je otišlo u spam, ili je server koji prima poruku nešto zakazao. A moguće je da nemaš From: header, mada iz ličnog iskustva znam da je neki default (skoro) uvek podešen u php.ini fajlu
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: 100% dobro napisana skripta za slanje mejla neće da se izvrši 08.01.2008. u 12:52 · pre 229 meseci #11
U spam nisu stizali mejlovi na sa jednog mejl servera.
E sada ne znam kako da dodam from header, gledao sam na PHP sajtu i trebalo bi da je ovako nešto:
Code:
$headers = "From: [email protected]";

I onda samo mail() f-ji prosledim jedan parametar više
Code:
$headers

E vi potvrdite ako je ovo dobro.
Potpis
Sreća prati hrabre
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme