Witam ,
mam program z klasą PHP Mailer - nie wysyła maila.
Jak ktoś ma jakiś gotowy - działający skrypt prosiłbym o przykład.
<?php
//Konfiguracja
$smtp_host="smtp.gmail.com"; //adres serwera smtp np:smtp.wp.pl
$smtp_username="moje.test"; //login na twoje konto
$smtp_password="!MOJE"; //haslo na twoje konto
$email="[email protected] "; //twoj adres email
//Koniec Konfiguracji
function smtp_mail($mail_to, $subject, $message) {
global $smtp_host, $smtp_user, $smtp_pass, $email;
if($mail_to == '[email protected]')
$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."\r\n");
server_parse($socket, '250');
fputs($socket, "AUTH LOGIN\r\n");
server_parse($socket, '334');
fputs($socket, base64_encode($smtp_user)."\r\n");
server_parse($socket, '334');
fputs($socket, base64_encode($smtp_pass)."\r\n");
server_parse($socket, '235');
}
else{
fputs($socket, 'HELO '.$smtp_host."\r\n");
server_parse($socket, '250');
}
fputs($socket, 'MAIL FROM: <' . $email . ">\r\n");
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>\r\n" );
server_parse($socket, '250');
}
$to_header .= (($mail_to_address != '') ? ', ' : '')."<$mail_to_address>";
}
$message = preg_replace("/(?<!\r)\n/si", "\r\n", $message);
fputs($socket, "DATA\r\n");
server_parse($socket, "354");
fputs($socket, "Subject: $subject\r\n");
fputs($socket, "$to_header\r\n");
fputs($socket, "From: kto?tam\r\n");
fputs($socket, "$headers\r\n\r\n");
fputs($socket, "$message\r\n");
fputs($socket, ".\r\n");
server_parse($socket, '250');
fputs($socket, "QUIT\r\n");
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);
}
}
?>