[PHP] Mail z zewnętrznego serwera SMTP

0

Witam.

Czy jest możliwośc wysłania e-maila poprzez php z zewnętrznego serwera smtp? Jeżeli tak to w jaki sposób :]?

0

obadaj źródła phpbb plik smtp.php ( chyba ten ale głowy nie dam )...

0

Nawet na 4p w artykułach o PHP o tym jest....

0

Rzeczywiście, jest napisana klasa, tyle że ma ona teraz sporo błędów związanych ze znaczkami zastępującymi własciwie znaki jakie tam miały być. Ma ktoś jeszcze jakiś pomysł :P

0

Jabym proponował sie połonczyć z serwerem smtp i zniego wysłać potem e-maila! :P

0

Żadna nowośc, o to przeciez pytam, a jak pytam to zacyz że nie wiem jak to zrobić ? Wiesz jak to zrobić z poziomu php?

0

Mógłbym ci odpowiedzieć jak to zrobić ale to bardziej by trzebało napisać artykuł niż pisać w poscie. Jak jesteś hentny do sprawdzenia moich błendów to napisze takia rtykuł w ten weekend!

0

hmm... to dosyc rzeroki problem, protokol, autoryzacja, wiec nie recze za poprawnosc mojego przykladu, on mi jedynie dziala, typ autoryzacji ktory zastosowalem jest podobno dosyc popularny :)

<?php

    function smtp_mail($from, $to, $user, $pass, $smtp, $temat, $tresc)
    {
        $eol = "\r\n";
        $hdr = 'From: ' . $from . '<' . $from . '>' . $eol;
        $hdr .= 'To: ' . $mail . $eol;
        $hdr .= 'Subject: ' . $temat . $eol;

        if ($fp = fsockopen($smtp, 25))
        {
            fgets($fp, 1024);

            fputs($fp, 'HELO ' . $_SERVER['SERVER_NAME'] . $eol);
            fgets($fp, 1024);

            fputs($fp, 'AUTH LOGIN' . $eol);
            fgets($fp, 1024);

            fputs($fp, base64_encode($user) . $eol);
            fgets($fp, 1024);

            fputs($fp, base64_encode($pass) . $eol);
            fgets($fp, 1024);

            fputs($fp, 'MAIL FROM: ' . $from . $eol);
            fgets($fp, 1024);

            fputs($fp, 'RCPT TO: ' . $to . $eol);
            fgets($fp, 1024);

            fputs($fp, 'DATA' . $eol);
            fgets($fp, 1024);

            fputs($fp, $hdr . $eol);
            fputs($fp, $tresc . $eol);
            fputs($fp, '.' . $eol);
            $res = substr(fgets($fp, 1024), 0, 3) == '250';

            fputs($fp, 'QUIT' . $eol); 
            fgets($fp, 1024);

            fclose($fp);   

            return $res;
        }

        return false;
    }

    $res = smtp_mail('piechnat(at)interia.pl', 'ktos(at)gdzies.pl', 
      'piechnat', 'moje_haslo', 'poczta.interia.pl', 'Temat', 'Cos tam');

    if ($res) echo 'Mail zostal wyslany';

?> 

1 użytkowników online, w tym zalogowanych: 0, gości: 1