fsockopen + SMTP + proxy

Discussion in 'PHP' started by telt, 4 Jan 2008.

  1. telt

    telt New Member

    Joined:
    4 Jan 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    PHP:
    $host = '78.214.217.106';
    $port = '8181';
    $id=Base64_Encode("login:pass");
    $fp = fsockopen($host, $port);
    fputs($fp, "CONNECT smtp.mail.ru:25 HTTP/1.1 \r\nProxy-Authorization: Basic $id\r\n\r\n");

    fclose ($fp);
    Люди кто знает куда впихивать команды релею? EHLO mail.ru\r\n AUTH LOGIN\r\n и тд. ? никак не разберусь.. помогите плиз с примером...
     
  2. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    в сокет их впихивать, как работать с смтп http://www.stfw.ru/page.php?id=41 по моему чтобы работать с мэйл ру нужно сначала авторизоватся на pop
     
    1 person likes this.
  3. telt

    telt New Member

    Joined:
    4 Jan 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    да не в smtp здесь дело, как работать с ним знаю.. проблема в том, как команду ему сунуть в этом примере, что я привел, первый раз сталкиваюсь с этим туннелем через прокси
     
  4. telt

    telt New Member

    Joined:
    4 Jan 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    проблему решил, не в то место Connection: close ставил. вот пример если кому надо...
    PHP:
    $mailserver = "smtp.newmail.ru";

          
    $user = "login@nm.ru";

          
    $pass = "12345";

          
    $mailto = "mail@inbox.ru";


     
    $host = '78.214.217.106'; 
    $port = '8181'; 
    $id=Base64_Encode("login:pass");
    $fp = fsockopen($host, $port)
    or die (
    "ERROR: Could not connect to proxy server $host on port $port");

    fputs($fp, "CONNECT $mailserver:25 HTTP/1.0 \r\n");
    fputs($fp, "Proxy-Authorization: Basic $id\r\nConnection: close\r\n\r\n");  
    fputs($fp, "EHLO nm.ru\r\n");
    fputs($fp, "AUTH LOGIN\r\n");
    fputs($fp, base64_encode($user)."\r\n".base64_encode($pass)."\r\n");
    fputs($fp, "MAIL FROM: $user\r\n");
    fputs($fp, "RCPT TO: $mailto\r\n");
    fputs($fp, "DATA\r\n");

    fputs($fp, "Subject: bla\r\n");
    fputs($fp, "From: Pupkin <login@nm.ru>\r\n\r\n");
    fputs($fp, "text.\r\n\r\n");
    fputs($fp, ".\r\n");
    echo 
    fread($fp,1024)."<br>";
    fputs($fp, "QUIT\r\n");  
     
    /*
     */
    fclose ($fp);
     
    #4 telt, 4 Jan 2008
    Last edited: 5 Jan 2008