Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> skrypt do wysylania maili nie dziala
jacek811
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 11.04.2003

Ostrzeżenie: (0%)
-----


Witam, mam skrypt do wysylania e-maili , tylko ze cos w nim nie dziala ...
[php:1:895a48bc69]
<?php
require_once 'Mail.php';

# twój serwer smtp
$params['host'] = 'smtp.wp.pl';

# dodatkowe parametry połączenia (opcjonalne):
# $params['port'] = 25;
# jeśli serwer wymaga autentykacji:
# $params['auth'] = false;
# $params['username'] = '';
# $params['password'] = '';

# wszelkie nagłówki...
$headers['Subject'] = 'To jest temat';
$headers['From'] = 'jacek@wp.pl';

$body = 'oto jakiś spam....';

# jeśli adresat jest jeden wystarczy
# $recipients = 'user@domena.pl';
$recipients = array('jacek811@wp.pl', 'jacek811@wp.pl');

$mail = Mail::factory('smtp', $params);

if (PEAR::isError($mail)) {
print $mail->getMessage();
} else {
# sio w Internet!
$error = $mail->send($recipients, $headers, $body);
if (PEAR::isError($error)) {
print $error->getMessage();
} else {
print 'mail został wysłany.';
}
}

?>[/php:1:895a48bc69]

a błąd ktory sie wyswietla to:
Kod
Fatal error: Undefined class name 'mail' in E:usrstronatestMail.php on line 24

Prosilbym o pomoc w rozwiazaniu tego problemu ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dob
post
Post #2





Grupa: Zarejestrowani
Postów: 166
Pomógł: 0
Dołączył: 30.01.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Kiedys to znalazłem na forum - i działa , w pliku z którego chcesz wysłac includujesz ten kod (uzupełniając go wczesniej)
a potem wywołujesz funkcje :
smtp_mail(do kogo, temat, wiadomosc)

[php:1:51e9a44861]<?php
$smtp_host = ''; // Adres smtp np. smtp.wp.pl
$smtp_user = ''; // Użytkownik serwera smtp
$smtp_pass = ''; // Hasło
$email = ''; // Adres od którego przychodzą maile

/* Funkcja do wysyłania maili bez użycia funkcji mail(), znaleziona w forum phpBB... */
function smtp_mail($mail_to, $subject, $message) {
global $smtp_host, $smtp_user, $smtp_pass, $email;

if($mail_to == '')
$error = 'Nie podałeś adresu odbiorcy!';
if(trim($subject) == '')
$error = 'Nie podałeś tematu wiadomości!';
if(trim($message) == '')
$error = 'Wiadomość jest pusta!';
if(!$socket = pfsockopen($smtp_host, 25, $errno, $errstr, 20))
$error = 'Nie mogę się połączyć z serwerem SMTP!';

if(!empty($error)){
echo "<B>Błąd: </B>$error<BR>n";
return false;
}

server_parse($socket, '220');

if(!empty($smtp_user) && !empty($smtp_pass)){
fputs($socket, 'EHLO '.$smtp_host."rn");
server_parse($socket, '250');
fputs($socket, "AUTH LOGINrn");
server_parse($socket, '334');
fputs($socket, base64_encode($smtp_user)."rn");
server_parse($socket, '334');
fputs($socket, base64_encode($smtp_pass)."rn");
server_parse($socket, '235');
}
else{
fputs($socket, 'HELO '.$smtp_host."rn");
server_parse($socket, '250');
}

fputs($socket, 'MAIL FROM: <' . $email . ">rn");
server_parse($socket, '250');

$mail_to_array = explode(',', $mail_to);


$to_header = 'To: ';
@reset($mail_to_array);

foreach($mail_to_array as $mail_to_address){
$mail_to_address = trim($mail_to_address);

if (preg_match('/[^ ]+@[^ ]+/', $mail_to_address)) {
fputs( $socket, "RCPT TO: <$mail_to_address>rn" );
server_parse($socket, '250');
}
$to_header .= (($mail_to_address != '') ? ', ' : '')."<$mail_to_address>";
}

$message = preg_replace("/(?<!r)n/si", "rn", $message);

fputs($socket, "DATArn");
server_parse($socket, "354");
fputs($socket, "Subject: $subjectrn");
fputs($socket, "$to_headerrn");
fputs($socket, "From: ktośtamrn");
fputs($socket, "$headersrnrn");
fputs($socket, "$messagern");
fputs($socket, ".rn");
server_parse($socket, '250');
fputs($socket, "QUITrn");
fclose($socket);

return true;
}
function server_parse($socket, $response) {
while (substr($server_response,3,1)!=' ') {
if(!($server_response=fgets($socket, 256))) {
die('Nie mogę pobrać kodów zwróconych przez serwer.');
}
}
if(!(substr($server_response, 0, 3) == $response)) {
die('Wystąpił problem z wysyłaniem maili. Serwer zwrócił komunikat:
'.$server_response);
}
}

?>[/php:1:51e9a44861]
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 19:52