Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wysyłanie E-maila za pomocą SMTP, nie korzystając z mail();
MaKaO
post 17.07.2003, 02:41:23
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Głogów

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


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!
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:03