[ zmil @ 14.07.2004. 06:58 ] @
Jedan moj prijatelj je uzeo hosting nije los . Necu da kazem kod koga . Ali imam problem sa mail funkcijom.

Ako treba da se posalje email njemu sve radi ali ako treba nekom drugom onda ne .

Probao sam i ovo
:
$poruka = "poruka........";

$poslao = "[email protected]";

$sendmail = "/usr/sbin/sendmail -t ";
$fd = popen($sendmail, "w");
fputs($fd, "To: [email protected]\r\n");
fputs($fd, "From: \"mene\" <$poslao>\r\n");
fputs($fd, "Subject: ja\r\n");
fputs($fd, "X-Mailer: Mailer Name\r\n\r\n");
fputs($fd, $poruka);
pclose($fd);
Sta sad ?
[ broker @ 14.07.2004. 11:26 ] @
Nadji neki biblioteku koja salje mail preko SMTP. Po pravilu one prijavljuju greske za razliku od mail() pa mozes da vidis o cemu se radi.
[ kalinicm @ 14.07.2004. 11:48 ] @
Problem je što nije na serveru namešteno ime domena nego stoji "plain.rackshack.com" umesto "www.mojdomen.com". I šta se onda dešava? Pa ukoliko mail server koji prima poruku proba da proveri da je mail stigao sa email adrese koja piše na serveru, mislim da se to zove reverse DNS ili kakoveć, ne dobije ime domena nego plain.rack....... i jednostavno neće da primi email. Najveća fora je što se mail izgubi bez traga, tako da mi je bilo teško da ukapiram šta je u pitanju.

Sve je ovo šusterski napisano, znam, ali nadam se da je dovoljno da reši problem.
[ zmil @ 14.07.2004. 13:57 ] @
nije to proverio sam probacu nekako drugacije ako uspem majstor sam
[ Not now, John! @ 14.07.2004. 14:59 ] @
Mislim da taj primjer neće raditi ako je PHP u safe modu.
Zašto ne probaš koristiti PHP mail funkciju. Tada ti ne brineš koji je mailer instaliran na serveru, već PHP automatski odradi sve. Pogledaj kako sam ja radio:
Code:

$subject="Naslov poruke";
$to = "primalac@domen";
$poruka="Tekst poruke" . "\r\n\r\n\r\n";
if (mail($to, $subject, $poruka, "Content-Type: text/plain; charset=UTF-8\r\nFrom: =?UTF-8?B?".base64_encode("Pošiljalac")."?= <{" . "pošiljalac@domen" . "}>")) {
    echo '<P>Vaša poruka je uspješno isporučena.</P>
} else {
    echo '<P>Vaša poruka NIJE isporučena.<BR>Sistemska greška!</P>
}
[ zmil @ 14.07.2004. 20:12 ] @
Hvala na trudu .
Sve je to u redu mail funkcija radi ali samo ako meni saljem poruke ali nekom drugom na primer [email protected] nece.
[ Not now, John! @ 14.07.2004. 20:43 ] @
Da li ti je string $to oblika "[email protected]" ili "User Name <[email protected]>"?
Primjetio sam da ovaj drugi oblik nekad ne radi. Zapravo radi sa sendmail, a ne radi sa qmail.

Ukoliko problem još postoji, nema druge nego da kontaktiraš administratora.
[ zmil @ 15.07.2004. 07:21 ] @
Hvala vam svima na trudu nasao sam resenje na
cz.php.net za divno cudo sve radi samo mi nije jasno kako i sto .
Evo ovo radi :

<?php

function sock_mail($auth,$to, $subj, $body, $head, $from){
$lb="\r\n"; //linebreak
$body_lb="\r\n"; //body linebreak
$loc_host = "localhost"; //localhost
$smtp_acc = "[email protected]"; //account
$smtp_pass="moja sifra"; //password
$smtp_host="localhost"; //server SMTP
$hdr = explode($lb,$head); //header

if($body) {$bdy = preg_replace("/^\./","..",explode($body_lb,$body));}

// build the array for the SMTP dialog. Line content is array(command, success code, additonal error message)
if($auth == 1){// SMTP authentication methode AUTH LOGIN, use extended HELO "EHLO"
$smtp = array(
// call the server and tell the name of your local host
array("EHLO ".$loc_host.$lb,"220,250","HELO error: "),
// request to auth
array("AUTH LOGIN".$lb,"334","AUTH error:"),
// username
array(base64_encode($smtp_acc).$lb,"334","AUTHENTIFICATION error : "),
// password
array(base64_encode($smtp_pass).$lb,"235","AUTHENTIFICATION error : "));
}
else {// no authentication, use standard HELO
$smtp = array(
// call the server and tell the name of your local host
array("HELO ".$loc_host.$lb,"220,250","HELO error: "));
}


// envelop
$smtp[] = array("MAIL FROM: <".$from.">".$lb,"250","MAIL FROM error: ");
$smtp[] = array("RCPT TO: <".$to.">".$lb,"250","RCPT TO error: ");
// begin data
$smtp[] = array("DATA".$lb,"354","DATA error: ");
// header
$smtp[] = array("Subject: ".$subj.$lb,"","");
$smtp[] = array("To:".$to.$lb,"","");
foreach($hdr as $h) {$smtp[] = array($h.$lb,"","");}
// end header, begin the body
$smtp[] = array($lb,"","");
if($bdy) {foreach($bdy as $b) {$smtp[] = array($b.$body_lb,"","");}}
// end of message
$smtp[] = array(".".$lb,"250","DATA(end)error: ");
$smtp[] = array("QUIT".$lb,"221","QUIT error: ");

// open socket
$fp = @fsockopen($smtp_host, 25);
if (!$fp) echo "<b>Error:</b> Cannot conect to ".$smtp_host."<br>";

$banner = @fgets($fp, 1024);
// perform the SMTP dialog with all lines of the list
foreach($smtp as $req){
$r = $req[0];
// send request
@fputs($fp, $req[0]);
// get available server messages and stop on errors
if($req[1]){
while($result = @fgets($fp, 1024)){if(substr($result,3,1) == " ") { break; }};
if (!strstr($req[1],substr($result,0,3))) echo"$req[2].$result<br>";
}
}
$result = @fgets($fp, 1024);
// close socket
@fclose($fp);
return 1;
}

?>
[ Not now, John! @ 15.07.2004. 10:23 ] @
SMTP server traži autorizaciju...