mam funkcje:
<?php
function mail($to, $subject, $message, $headers = '', $additional_parameters = '') {
$subject = trim($subject); $message = trim($message).$this->ustawienia['email']['podpis']; $headers = trim($headers);
return false;
}
return false;
}
return false;
}
// wybierz typ
Switch($this->ustawienia['email']['typ']) {
case 'smtp':
$socket = fsockopen($this->ustawienia['email']['host'], $this->ustawienia['email']['port'], $errno, $error, 25
); if (!$socket) {
return false;
$this->log_dodaj('Nie można było nawiązać połączenia z serwerem poczty',__FILE__,__LINE__);
}
if(!$this->server_response($socket, '220')){return false;}
fwrite($socket, "HELO " . $this->ustawienia['email']['host'] . "rn"); if(!$this->server_response($socket, '250')){return false;}
/* Logujemy sie do serwera */
fwrite($socket, "AUTH LOGINrn"); if(!$this->server_response($socket, '334')){return false;}
if(!$this->server_response($socket, '334')){return false;}
if(!$this->server_response($socket, '235')){return false;}
/* Okreslamy nadawce listu */
fwrite($socket, "MAIL FROM: <" . $this->ustawienia['email']['email'] . ">rn"); if(!$this->server_response($socket, '250')){return false;}
/* Okreslamy odbiorcow */
foreach($recipients as $send_to) {
$send_to = trim($send_to); if (ereg('^.+@.+..+$', $send_to)) { fwrite($socket, 'RCPT TO: <' . $send_to . ">rn"); $this->server_response($socket, '250');
}
}
if(!$this->server_response($socket, '354')){return false;}
/* Wysylamy dodatkowe naglowki */
fwrite($socket, 'Subject: ' . $subject . "rn");
fwrite($socket, $headers . "rnrn");
/* Teraz wysylamy tresc listu */
fwrite($socket, $message . "rn"); if(!$this->server_response($socket, '250')){return false;}
/* Rozlaczamy sie */
return true;
break;
// zwykly mail
default:
return mail($to, $subject, $message, $headers,$additional_parameters); break;
}
}
function server_response($socket, $response) {
do {
if(!($server_response = fgets($socket, 256
))) { $this->log_dodaj('Nie mozna pobrac odpowiedzi serwera poczty!',__FILE__,__LINE__);
return false;
}
}
while (substr($server_response, 3, 1) != ' ');
if(substr($server_response, 0
, 3
) != $response) { $this->log_dodaj('Błąd serwera poczty: '.$server_response,__FILE__,__LINE__);
return false;
}
return true;
}
?>
wszystko jest ok.. oprócz tego, ze w temacie przy wysyłaniu nie ma kodowania znaków.. domyślnie wszystko idzie przez utf.. ale gdy w temacie da sie polskie czcionki to nie sa one pokazywane... gdzie lezy przyczyna tego bledu... w tresci wiadomosci wszystkie polskie znaki sa ok...