wysyłanie maili bez aktywnej funkcji mail na serwerze
<?php
$o_smtp_host='';
$o_smtp_user='';
$o_smtp_pass='';
$o_webmaster_email='';
function smtp_mail($to, $subject, $message, $headers = '')
{
global $o_smtp_host,$o_smtp_user,$o_smtp_pass,$o_webmaster_email,$i,$server_response;
//koniec z definiowaniem
$recipients = explode(',', $to);
// Are we using port 25 or a custom port?
if (strpos($o_smtp_host, ':') !== false)
list($o_smtp_host, $o_smtp_port) = explode(':', $o_smtp_host);
else
{
$smtp_host = $o_smtp_host;
$smtp_port = 25;
}
if (!($socket = fsockopen($smtp_host, $smtp_port, $errno, $errstr, 15)))
error('Nie można połączy się z serwerem smtp "'.$o_smtp_host.'" ('.$errno.') ('.$errstr.')', __FILE__, __LINE__);
server_parse($socket, '220');
if ($o_smtp_user != '' && $o_smtp_pass != '')
{
fwrite($socket, 'EHLO '.$smtp_host."\r\n");
server_parse($socket, '250');
fwrite($socket, 'AUTH LOGIN'."\r\n");
server_parse($socket, '334');
fwrite($socket, base64_encode($o_smtp_user)."\r\n");
server_parse($socket, '334');
fwrite($socket, base64_encode($o_smtp_pass)."\r\n");
server_parse($socket, '235');
}
else
{
fwrite($socket, 'HELO '.$smtp_host."\r\n");
server_parse($socket, '250');
}
fwrite($socket, 'MAIL FROM: <'.$o_webmaster_email.'>'."\r\n");
server_parse($socket, '250');
$to_header = 'To: ';
@reset($recipients);
while (list(, $email) = @each($recipients))
{
fwrite($socket, 'RCPT TO: <'.$email.'>'."\r\n");
server_parse($socket, '250');
$to_header .= '<'.$email.'>, ';
}
fwrite($socket, 'DATA'."\r\n");
server_parse($socket, '354');
fwrite($socket, 'Subject: '.$subject."\r\n".$to_header."\r\n".$headers."\r\n\r\n".$message."\r\n");
fwrite($socket, '.'."\r\n");
server_parse($socket, '250');
fwrite($socket, 'QUIT'."\r\n");
fclose($socket);
return true;
}
function server_parse($socket, $expected_response)
{
while (substr($server_response, 3, 1) != ' ')
{
if (!($server_response = fgets($socket, 256)))
error('Brak odpowiedzi ze strony serwera pocztowego. Prosz skontaktowa si z administratorem.', __FILE__, __LINE__);
}
if (!(substr($server_response, 0, 3) == $expected_response))
print('Nie można wysa wiadomości e-mail, z powodu: "'.$server_response.'" Prosz skontaktowa si z administratorem. '); //, __FILE__, __LINE__);
}
// wysyłanie maila
$to = "adresat";
$subject = "próba";
$message = "treść " ;
smtp_mail($to, $subject, $message, $headers = '');
?>
¦ci±gawki z HTML i CSS - znalezione w necie, stworzone samemu albo jeszcze inaczej;) ~ porady
¦ci±gawki z PHP i MYSQL - znalezione w necie, stworzone samemu albo jeszcze inaczej;) ~ porady
Linki do kilku moich stron ~ portfolio