[ vlada-kg @ 13.04.2012. 17:43 ] @
Da li neko zna u cemu moze da bude problem? Prvo sam mislio da moj kod nije dobar iako radi normalno na drugim sajtovima, pa sam stavio:

Code:

<?php
 $to = "[email protected]";
 $subject = "Hi!";
 $body = "Hi,\n\nHow are you?";
 if (mail($to, $subject, $body)) {
   echo("<p>Message successfully sent!</p>");
  } else {
   echo("<p>Message delivery failed...</p>");
  }
 ?> 


ali opet nece da posalje. Jel zna neko o cemu je rec?
[ PHPovac @ 13.04.2012. 20:40 ] @
zameni
Code (php):

 if (mail($to, $subject, $body)) {
    echo("<p>Message successfully sent!</p>");
   } else {
    echo("<p>Message delivery failed...</p>");
   }
 

sa
Code (php):

print_r(mail($to, $subject, $body));
 

i napiši šta kaže...
[ vlada-kg @ 13.04.2012. 20:46 ] @
Ne vredi. Moracu da cimam provajdera da vidim o cemu je rec.
[ gotivac @ 15.04.2012. 10:13 ] @
Ako je hosting slučajno kod Netpro-a, funkcija mail() je zbog spama isključena pre jedno mesec dana.
Ja sam morao na mojim sajtovima da menjam kod i da koristim pear biblioteke.
[ vlada-kg @ 27.04.2012. 17:53 ] @
Kontaktirao sam hosting provajdera, i on mi je rekao da je funkcija mail disable. Da moram da koristim pear:mail funkciju koju nikad nisam koristio. Sad gledam po netu i ne mogu da se snadjem nikako. Da li moze neko da mi pomogne kako da instaliram Pear na server i kako da koristim ovu funkciju?
[ Milos911 @ 27.04.2012. 18:11 ] @
Procitao? http://pear.php.net/manual/en/installation.getting.php, http://pear.php.net/manual/en/package.mail.php.
Nisam koristio, ali deluje prilicno jednostavno. koji deo ne razumes?
[ gotivac @ 28.04.2012. 09:09 ] @
Pošto sam izgubio par sati boreći se sa ovim problemom, pokušaću da ih tebi uštedim.

Prvo što moraš da uradiš je instalacija PEAR-a (bar onog dela koji se tiče slanja e-mail-a) na web server. Pošto to verovatno ne možeš da uradiš kod hosting provajdera, ja sam problem rešio tako što sam ga instalirao lokalno, i onda testirao šta je od fajlova neophodno i gde ih treba smestiti.

Dakle, stvari stoje ovako:

u root folderu sajta napraviš folder Mail i u njega smestiš sledeće fajlove:

mail.php
mime.php
mimePart.php
mock.php
null.php
RFC822.php
sendmail.php
smtp.php
smtpmx.php

Takođe, u root folder smestiš sledeće fajlove:

PEAR.php
PEAR5.php
Mail.php

Ukoliko imaš problem sa ovim, pošalji mi e-mail na pm, pa ću ti poslati sve ove fajlove.

Dalje, evo ti kod koji će da pošalje poruku sa adrese [email protected] na adresu [email protected]:

Code:

require_once "../Mail.php";
require_once "../Mail/mime.php";

$subject = "Ovde ide subject poruke";
$mail_to = "[email protected]";
$mail_from = "[email protected]";
$host = "smtp.nesto.com"; //ovde ide smtp server
$username = "[email protected]"; //ovde ide username 
$password = "password"; //ovde ide password

$smtp = Mail::factory('smtp',
 array (
 'host' => $host,
 'auth' => true,
 'username' => $username,
 'password' => $password
));

$headers["From"] = $mail_from;
$headers["To"] = $mail_to;
$headers["Subject"] = $subject;
$headers["Content-Type"] = 'text/html; charset=UTF-8';
$headers["Content-Transfer-Encoding"]= "8bit";

// Tekst poruke ***

$html_message="<p>Zdravo Miko</p>";
$html_message.="<p>Mi smo dobro, nadam se da ste i vi</p>";
$html_message.="<p>Pozdrav!</p>";


// Aktiviranje MIME biblioteke ***
$mime = new Mail_mime;
$mime->setTXTBody($text);
$mime->setHTMLBody($html_message);
$mimeparams=array(); 

$mimeparams['text_encoding']="8bit";
$mimeparams['text_charset']="UTF-8";
$mimeparams['html_charset']="UTF-8";
$mimeparams['head_charset']="UTF-8";
$mimeparams["debug"] = "True";

// Postavljanje mime poruke i header-a ***

$body = $mime->get($mimeparams);
$headers = $mime->headers($headers); 

// Slanje mail-a ***

$mail = $smtp->send($mail_to, $headers, $body);

if (PEAR::isError($mail)) {
echo 'PEAR error in module: MAIL';         
} else { 
echo 'Mail sent!';
}


Javi ako negde zapneš, ovo radi kod Netproa gde je funkcija mail() disabled.
[ vlada-kg @ 15.05.2012. 20:01 ] @
Ne mogu da se snadjem, nece da radi nikako.
[ vlada-kg @ 16.05.2012. 14:48 ] @
Jel moze neko da pomogne?
[ webjunior @ 16.05.2012. 15:24 ] @
jel si uradio ovo sto ti je napisao gotivac?..kao sto rekose mozda je disable mail(). Pitaj provajdera. Posalji mu poruku:

recimo..provided work on your web server mail() function? Pa vidi sta ce ti odgovori :) ozbiljno..
[ Milos911 @ 16.05.2012. 16:00 ] @
Citat:
webjunior:provided work on your web server mail() function? Pa vidi sta ce ti odgovori :) ozbiljno..
Majko rodjena. Ozbiljno. Aj pliz napisi na srpskom prevod te engleske recenice sto si napisao :)

Citat:
vlada-kg: Ne mogu da se snadjem, nece da radi nikako.
Pomozi da ti pomognemo. Sta si probao, i koju gresku izbacuje? Ovako napamet je tesko bilo sta predloziti...
[ vlada-kg @ 16.05.2012. 18:20 ] @
mail() je disabled. Rekli su mi da moram da koristim Pear. Uradio sam sve kako je gotivac napisao, nasao sam na netu te fajlove, skinuo ih i probao, ali mi nije supelo. Ja sam napravio tako da kad neko klikne na Posalji poruku, pozove onaj kod sto mi je gotivac napisao. Ali ne vredi, nece da radi, kaze kako ne moze da pronadje te fajlove koji su mu potrebni.
[ webjunior @ 16.05.2012. 18:39 ] @
Verovatno ti je problem sa ../direktorijum/fajl.php...znaci vidi gde si koje fajlove smestio i proveri skriptu..

Sto se tice prevoda :) sta da kazem, ucim ali mi slabo ide...
hteo sam reci da li ste obezbedili rad mail funkcije na vasem web serveru? .. a i ovaj google sve je sakat :)
[ vlada-kg @ 16.05.2012. 18:41 ] @
To je provereno, putanju sam detaljno gledao i probao sve moguce opcije, ali nece ni da bekne. Da nije problem u tim fajlovima koje sam skinuo sa neta, da se ne razlikuju od onih koje je gotivac probao kod sebe?
[ gotivac @ 17.05.2012. 20:56 ] @
Hajde da probamo ovako.

U atačmentu imaš arhivu koju samo treba da raspakuješ u root svog sajta. Zatim otvoriš fajl sendmail.php, u njemu popuniš realnim podacima varijable u redovima od 8 do 13 (znači $username, $password, $mail_to, $mail_from, $host.

Onda, ako je tvoj sajt www.vladinsajt.com, pokreni http://www.vladinsajt.com/sendmail.php i trebalo bi da pošalje mail na adresu koju si ubacio u $mail_to.

Ja sam ovo probao na localhostu i NE RADI, pretpostavljam da je neki zaglup sa komunikacijom sa SMTP serverom SBB-a, ali mi ovako radi na tri sajta hostovana kod NetPRO-a (smelo pretpostavljam da te muči neki sajt hostovan kod njih, pošto si se javio baš malo nakon što su oni isključili funkciju mail()).

E, sad ako je ovo uspelo, dalje je lako. Na početku ovog fajla sendmail.php samo treba da preuzmeš tekst maila iz tvoje forme sa prethodne strane i smestiš ga u promenljivu $html_message umesto teksta koji sam ja stavio u 31 i 32 redu.

Aj' pa javi kako stoje stvari.

P.S. Da, izvinjavam se što mi je gornje uputstvo bilo malo nekompletno, nisam uzeo u obzir folder "Net" koji je takođe neophodan.

[Ovu poruku je menjao gotivac dana 17.05.2012. u 22:11 GMT+1]
[ vlada-kg @ 19.05.2012. 18:53 ] @
Priblizavamo se polako resenju :) . Raspakovao sam fajl, promenio podatke i upload-ovao ali mi izbacuje sledecu gresku:

PEAR error in module: MAIL.

Mozda gresim nesto oko podataka, evo sta sam ja kucao:

$subject = "Subject poruke"; - ok, ovo sam ostavio isto za probu :P
$mail_to = "[email protected]"; - postavio sam moj privatan mejl na koji da mi stigne poruka
$mail_from = "[email protected]"; - ovde sam upisao email koji sam otvorio na serveru, [email protected]
$host = "smtp.mojsajt.com"; - ovde sam ukucao smtp.mojsajt.rs
$username = "[email protected]"; - ovde sam ukucao username koji mi je potreban da se ulogujem na myhost: [email protected]
$password = "password"; - ovde sam kucao pass koji mi je potreban da se ulogujem na myhost

Jel zna neko u cemu je sad caka?
[ gotivac @ 20.05.2012. 10:23 ] @
Citat:
vlada-kg: Priblizavamo se polako resenju :) . Raspakovao sam fajl, promenio podatke i upload-ovao ali mi izbacuje sledecu gresku:

PEAR error in module: MAIL.

Mozda gresim nesto oko podataka, evo sta sam ja kucao:

$subject = "Subject poruke"; - ok, ovo sam ostavio isto za probu :P
$mail_to = "[email protected]"; - postavio sam moj privatan mejl na koji da mi stigne poruka
$mail_from = "[email protected]"; - ovde sam upisao email koji sam otvorio na serveru, [email protected]
$host = "smtp.mojsajt.com"; - ovde sam ukucao smtp.mojsajt.rs
$username = "[email protected]"; - ovde sam ukucao username koji mi je potreban da se ulogujem na myhost: [email protected]
$password = "password"; - ovde sam kucao pass koji mi je potreban da se ulogujem na myhost

Jel zna neko u cemu je sad caka?


Caka je u username-u i password-u.

Da bi slao mail putem smtp-a sa autentifikacijom, moraš da imaš username i password, odnosno da imaš mail nalog SA koga šalješ mail.
Dakle, otvori jedan mailbox (u stvari, ti si ga već otvorio - to je [email protected]), to stavi u username, a za password stavi šifru kojom pristupaš tom mailbox-u.

Nigde ti ovde ne trebaju username i password koji koristiš da se uloguješ na myhost.
[ vlada-kg @ 20.05.2012. 16:25 ] @
To je to !! Hvala puno !! Bez tvoje pomoci ne bi nikad ovo odradio. Ne znam sto su onemogucili funkciju mail().

Hvala opet, pozdrav
[ gotivac @ 21.05.2012. 10:34 ] @
E, super.

Kako je meni objašnjeno, mail() funkcija je isključena, zato što je "neki" sajt hostovan kod njih zaražen, pa šalje ogromne količine spama.

Doduše, meni takav postupak liči na ubijanje komarca zoljom, ali šta sad...
[ DjMladenJanjusevic @ 27.06.2012. 00:38 ] @
Nisam hteo da otvaram novu temu pa pisem u ovoj. Imam problem i ne znam kako da ga resim.
Naime imam kontakt.html stranicu u koju sa upisao sledeci kod

Code:
<form action="slanje.php" method="post" id="contactform">
            <ol>
              <li>
                <label for="name">First Name <span class="red">*</span></label>
                <input id="name" name="name" class="text" />
              </li>
              <li>
                <label for="email">Your email <span class="red">*</span></label>
                <input id="email" name="email" class="text" />
              </li>
              <li>
                <label for="company">Company Name</label>
                <input id="company" name="company" class="text" />
              </li>
              <li>
                <label for="message">Message <span class="red">*</span></label>
                <textarea id="message" name="message" rows="6" cols="50"></textarea>
              </li>
              <li class="buttons">
                <input type="image" name="imageField" id="imageField" src="images/send.gif" />
              </li>
          </ol>
        </form>


Kao sto se vidi iz predhodnog koda php fajl za slanje je slanje.php i u njemu je napisan ovaj kod

Code:
<?php

if(!$_POST) exit;

$email = $_POST['email'];


//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){
    $error.="Invalid email address entered";
    $errors=1;
}
if($errors==1) echo $error;
else{
    $values = array ('name','email','message');
    $required = array('name','email','message');
     
    $your_email = "[email protected]";
    $email_subject = "New Message: ".$_POST['subject'];
    $email_content = "new message:\n";
    
    foreach($values as $key => $value){
      if(in_array($value,$required)){
        if ($key != 'subject' && $key != 'company') {
          if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; }
        }
        $email_content .= $value.': '.$_POST[$value]."\n";
      }
    }
     
    if(@mail($your_email,$email_subject,$email_content)) {
        echo 'Message sent!'; 
    } else {
        echo 'ERROR!';
    }
}
?>


Ali kada pokrenem html fajl i kada popunim formu i stisnem dugme posalji izbaci mi sledeci text iznad forme i ne posalje mail niti se nista desi.

Code:
$value){ if(in_array($value,$required)){ if ($key != 'subject' && $key != 'company') { if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; } } $email_content .= $value.': '.$_POST[$value]."\n"; } } if(@mail($your_email,$email_subject,$email_content)) { echo 'Message sent!'; } else { echo 'ERROR!'; } } ?>


Da li neko zna kako da resim ovaj problem. Hvala unapred i pozdrav
[ plus_minus @ 27.06.2012. 01:11 ] @
Fali ti neka vrsta inicijatora. Imaš post medodu, ali nigde okidača za to koliko vidim.

Ovo treba da stoji negde unutar forme.

Code (html):


<button name="submit" type="submit" value="submit"> Pošalji </button>

 


a slanje.php ovako nekako..

Code (php):



$error='';
$name='';
$email='';
$company='';
$message='';


if(isset($_POST['submit'])){

   $name=htmlentities($_POST['name'], ENT_QUOTES, "UTF-8");
   $email=htmlentities($_POST['email'], ENT_QUOTES, "UTF-8");
   $company=htmlentities($_POST['company'], ENT_QUOTES, "UTF-8");
   $message=htmlentities($_POST['message'], ENT_QUOTES, "UTF-8");


# Ovde nastavljaš sa svojim kodom.
# možeš if else ili if elseif else ili ... switch:case

# Recimo, konkretan primer provere jel' ime uopšte i upisano, bilo šta.

switch($_POST['submit']):
case(empty($name)):
$error='Prazno polje za unos imena';
break;

# i tako redom za sve.. npr. case(is_numeric($name)): ... pridodaješ neophodno ili ono što misliš da će biti potrebno,
# a za default "slučaj" ostaviš recimo ovako..

default:case(empty($error)):


# i  ovde ide kod za slanje pošte ...
# .. headere si već upisao, subjekat također, poruku i email imaš iz posta..

if(mail($email, $subject, $message, $headers)){ # ...... ubij sesiju, šta god..  }
else {
  $error='Neuspelo slanje, pokušajte kasnije';
 }

continue;

endswitch;

}

 


Na nekim hosting rešenjima, mail neće da se pošalje sa 'send' vrednošću, već samo sa 'submit', dok bi po pravilu trebalo da bude 'send' ako se samo mail šalje.
Tako da možeš to fino da promeniš. Kod koji si ostavio je mnogo loš i nedovršen, više vežbe.

I za dugme uvek koristi <button>Dugme</button> zbog css-a, jer chrome ne poznaje šta je to input:focus ukoliko input ima value send ili submit, ako se ne varam dok button:active, da.

[Ovu poruku je menjao plus_minus dana 27.06.2012. u 02:26 GMT+1]
[ PHPovac @ 27.06.2012. 01:47 ] @
Jel si sačuvao fajl kao .php?
[ DjMladenJanjusevic @ 27.06.2012. 14:14 ] @
@plus_minus

Hvala na korisnim informacijama...pocetnik sam u php tako da cu morati da nadjem nekoga ko ce mi ovo pribliznije objasniti i pokazati da bih znao kako da to uradim narednih puta kada mi zatreba

Citat:
PHPovac: Jel si sačuvao fajl kao .php?


Stranica je snimljena u HTML a funkcija slanje je snimljena u PHP.... kao slanje.php

[Ovu poruku je menjao DjMladenJanjusevic dana 27.06.2012. u 17:44 GMT+1]
[ DjMladenJanjusevic @ 27.06.2012. 15:34 ] @
Citat:
plus_minus: Fali ti neka vrsta inicijatora. Imaš post medodu, ali nigde okidača za to koliko vidim.

Ovo treba da stoji negde unutar forme.

Code (html):


<button name="submit" type="submit" value="submit"> Pošalji </button>

 



Sada sam skontao sta si ovde mislio i to sam odradio preko css-a i slike.
Code (html):
<li class="buttons">
                <input type="image" name="imageField" id="imageField" src="images/send.gif" />
              </li>

Samo nisi primetio...problem je u ovom php fajlu za slanje.... ali za to sam vec napisao odg iznad u postu pa da ne ponavljam
[ plus_minus @ 27.06.2012. 20:16 ] @
Momčino, button i input, nisu isto.

Kao što i type="image" i type="submit" - name="submit" nisu isto.

Jeste, problem je i u tom drugom fajlu. Lepo si rekao da ti treba još malčice vežbe, itd. Radi na tome.
[ CiM0beTa @ 29.06.2012. 17:05 ] @
Dreamweaver je i mene svojevremeno zaglupljivao :) tako da samo ako bas mora i to samo za template.
[ plus_minus @ 29.06.2012. 17:15 ] @
O čemu ti to? Budi precizniji malo.
[ CiM0beTa @ 29.06.2012. 20:49 ] @
Code (html):
<li class="buttons">
<input type="image" name="imageField" id="imageField" src="images/send.gif" />
</li>

na osnovu ovog koda, "predpostavio sam da je u pitanju dreamweaver..."

name="imageField"
id="imageField"

kao i u prvom postu od
@DjMladenJanjusevic

koristi se <label></label>

nek me ispravi Mladen ako gresim..ali hteo sam da kazem da dreamweaver ima neke svoje metode koje ne mogu da se primenjuju selektivno, vec ako ga koristis, onda moras da ga znas do daske...inace moras da editujes kod i prilagodjavas u nekom editoru...notepad++ recimo... Zato ja kad radim template, odradim to pomocu dreamweavera ali samo zbog centriranja div-ova i pisanja css class-a i id... a kasnije mnoge stvari postaju suvisne i nepregledne pa je bolji neki prostiji editor, jos ako je prilagodjen i dodani makroi, nove definisane reci...sve je mnogo lakse.
[ plus_minus @ 29.06.2012. 21:12 ] @
Super, sve je to lepo, samo i dalje ne znam odakle ti da je i mene ili nekog drugog dreamweaver zaglupljivao?
I dobro je što si otkrio notepad++, znači progledao si hoćeš da kažeš?

Label je proizvoljna stvar.
A poželjno je kod padajuće liste, npr. Korisno.
Kod input type="text" ili type neki drugi, jok. Ne mora.
Kao što hoćeš/nećeš recimo title="Naziv" u samom href tagu.
[ CiM0beTa @ 29.06.2012. 21:22 ] @
Ne znam sto si se ti prozvao, ja sam dao savet, tacnije deo iskustva, Mladenu. Vidim da mesa dizajn i programiranje...tako da ne zelim da se raspravljam s tobom.
[ plus_minus @ 29.06.2012. 23:55 ] @
Whatever. :)