Mam pytanie, co w tym skrypcie jest nie tak, że nie chce mi on działać? Czy może jest to wina serwera? Naprawde nie wiem co jest nie tak... Proszę o to 2 funkcje...
[php:1:7469ea9fa5]<?php
$smtpHost = "smtp.host.pl"; //Host
$smtpUser = "user"; //Użytkownik
$smtpPass = "pass"; //Hasło
$mailbox = "mojAdres@skrzynki.pl"; //Adres skrzynki
function smtpMail($to, $subject, $message)
{
$message = preg_replace("/(?<!r)n/si", "rn", $message);
if($to == ""){
echo "<B>Błąd: </B> Nie podałeś adresu odbiorcy!<BR>n";
return 0;
}
if(trim($subject) == ""){
echo "<B>Błąd: </B> Nie podałeś tematu wiadomości!<BR>n";
return 0;
}
if(trim($message) == ""){
echo "<B>Błąd: </B> Wiadomość jest pusta!<BR>n";
return 0;
}
$toArray = explode(",", $to);
if(!$socket = fsockopen($smtpHost, 25, $errno, $errstr, 50)){
echo "Nie mogę się połączyć z serwerem SMTP! : $errno : $errstr<BR>n";
}
serverParse($socket, "220");
if( !empty($smtpUser) && !empty($smtpPass)){
fputs($socket, "EHLO " . $smtpHost . "rn");
serverParse($socket, "250");
fputs($socket, "AUTH LOGINrn");
serverParse($socket, "334");
fputs($socket, base64_encode($smtpUser) . "rn");
serverParse($socket, "334");
fputs($socket, base64_encode($smtpPass) . "rn");
serverParse($socket, "235");
} else {
fputs($socket, "HELO " . $smtpHost . "rn");
serverParse($socket, "250");
}
fputs($socket, "FROM: <" . $mailbox . ">rn");
serverParse($socket, "250");
$toHeader = "To: ";
@reset( $toArray );
while( list( , $toAddress ) = each( $toArray ))
{
$toAddress = trim($toAddress);
if ( preg_match('/[^ ]+@[^ ]+/', $toAddress) )
{
fputs( $socket, " TO: <$toAddress>rn" );
serverParse( $socket, "250" );
}
$toHeader .= ( ( $toAddress != '' ) ? ', ' : '' ) . "<$toAddress>";
}
fputs($socket, "DATArn");
serverParse($socket, "354");
fputs($socket, "Subject: $subjectrn");
fputs($socket, "$toHeaderrn");
fputs($socket, "$headersrnrn");
fputs($socket, "$messagern");
fputs($socket, ".rn");
serverParse($socket, "250");
fputs($socket, "QUITrn");
fclose($socket);
return TRUE;
}
function serverParse($socket, $response)
{
while ( substr($serverResponse,3,1) != ' ' )
{
if( !( $serverResponse = fgets($socket, 256) ) )
{
die("Serwer nie odpowiada.");
}
}
if( !( substr($serverResponse, 0, 3) == $response ) )
{
die("Wystąpiły problemy podczas wysyłania Maila. Response: $serverResponse");
}
}
?>[/php:1:7469ea9fa5]
Widzicie tutaj jakiś problem czy coś? :?
POMOCY!