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.