Ir para conteúdo
Fórum Script Brasil

itibere

Membros
  • Total de itens

    313
  • Registro em

  • Última visita

Posts postados por itibere

  1. Nada como o bom velho manual, se você tivesse ido olhar lá veria:

    OP_SECURE - Don't do non-secure authentication e também veria que isso está na parte opcional da função, ou seja, basta retirar e ele vai aceitar autenticação não segura...

    Bom, desculpe eu li o manual, e devo ter interpretado errado, de qualquer forma com ou sem ele não funciuona, eu tentei assim tb:

    $mbox = @imap_open("{".$tipoS.".$servidor:110/pop3/ssl/novalidate-cert}INBOX", $usuario . "@" . $servidor, $senha)

    erro:

    Array ( [0] => TLS/SSL failure for pop.powermail.com.br: SSL negotiation failed ) outra

    e outra

    $mbox = @imap_open("{".$tipoS.".$servidor:110/pop3}INBOX", $usuario . "@" . $servidor, $senha)

    e não da certo.

  2. Ola, para Todos,

    Eu tenho um script para ler menssagem num servidor de e-mail, e to usando a função imp_open() para buscar as mensagens,

    O script funciona beleza com a oi, com gmail, com e outros, mas quando eu tento me conectar no meu servidor ela da a o seguinte retorno:

    Certificate failure for pop.powermail.com.br: self signed certificate: /C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=localhost.localdomain/emailAddress=root@localhost.localdomain )

    Eu entrei em contato com o suporte e ele me informou que isso ta acontecendo porque o seridor não tem um certifacado de de segurança,

    Ai ele falou que era para eu ignorar o certificado.

    Mas não to sabendo como fazer

    Esta é a linha de comando que to usando:

    $mbox = @imap_open("{".$tipoS.".$servidor:110/pop3}INBOX", $usuario . "@" . $servidor, $senha,"OP_SECURE");

    Alguém tem uma idéia.

  3. Olá, eu peguei um scrip aqui no forum para ler email no php, o script consegue ir no servido r pegar o email beleza , mas qundo mano abrir o email da a seguinte mensagem:

    Este programa não permite a visualização de mensagens formatadas (com cores, imagens e links), portanto solicitamos que você copie o texto abaixo, e cole no campo "Endereço" do seu navegador.

    http://....

    Mas isso só acontece se o email form em html, se for texto puro funciona certinho;

    Codigo que le o email:


    $servidor = $_GET['ser'];
    $usuario = $_GET['uss'];
    $senha = $_GET['pass'];
    $tipoS =$_GET['tpop'];
    if(isset($tipoS)){
    $tipoS =$_GET['tpop'];
    }
    @ini_set('display_errors', '0');
    if($servidor!=""){
    $mbox = @imap_open("{".$tipoS.".$servidor:110/pop3}INBOX", $usuario . "@" . $servidor, $senha);
    }

    $erro[] = imap_last_error();
    // testo se tem email no servidor
    if ($erro[0] == "Mailbox is empty") {
    echo "não tem nenhuma mensagem";
    exit;
    }
    if ($erro[0] != "") {
    echo "Ocorrem erros<br>:";
    print_r($erro);
    exit;
    }

    // verifico se esta certo o usuario e senha
    elseif ($erro[0] == "POP3 connection broken in response") {
    echo "Usuario ou a senha estao errados";
    exit;
    }
    // testo se o servidor esta certo
    elseif ($erro[0] == "Host not found (#11004): pop3.$servidor") {
    echo "O servidor $servidor esta errado";
    exit;
    }
    // se a $erro estiver vazia ele continua
    if ($erro[0] == "") {
    $numero_mensagens = imap_num_msg($mbox);
    $numero_mens_nao_lidas = imap_num_recent($mbox);

    if ($numero_mensagens == 1) {
    $msgC="você tem $numero_mensagens mensagem";
    //echo "você tem $numero_mensagens mensagem";
    } else {
    $msgC="você não tem $numero_mensagens mensagens";
    // echo "você não tem $numero_mensagens mensagens";
    }

    }
    if (isset($_GET["id"])) {
    $id = $_GET["id"];
    $mensagem = imap_fetchbody($mbox, $id, 1);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Leitor de Email</title>
    </head>
    <body>
    <?php
    echo nl2br(quoted_printable_decode($mensagem));
    ?>
    </body>
    </html>
    <?
    }
    imap_close($mbox);
    ?>

    [/codebox]

  4. Cara eu to com um prolema parecido.

    Eu pequei esse mesmo escript para uso no meu sistema , mas no meu caso ue não tenho um servidor de email configurado, então tenho que usar um externo por isso tivew que mudar o cadigo para usar SMTP.

    O problem que to tendo é o seguinte: qundo mando o e-mail, vai tudo beleze e o anexo ate chega, mas chega sem o nome e quando tento abri, fala que a visualização do aquivo não é possivel.

    Esse é o codigo que to usando:


    <?php
    $servidor= ""; // nome do servidor
    $porta = 25; // número da porta, o email sempre fica na 25
    $timeout = 10; // tempo para expirar a tentativa de conexão
    //pego os dados enviados pelo formulario
    $nome = "";//Nome de quem enviou
    $email = "";//para
    $mensagem =$_POST['mensagem'];//Menssagem
    $assunto = "Feliz Anivesário";
    $email_from = "";//email de quem enviou
    // abre conexão com o servidor SMTP utilizando a função fsockopen
    $conexao = @fsockopen($servidor, $porta, $errno, $errstr, $timeout);
    // se houve erro a variável $errno vem ligada
    if ($errno){
    echo "Erro ao conectar ao $servidor na $porta: ".$errstr;
    exit;
    }
    // estabelece um email de retorno para receber msgs de erro
    fputs($conexao, "MAIL FROM:<$email_from>\r\n", 512);
    // estabelece o endereço de envio
    fputs($conexao, "RCPT TO:<$email>\r\n", 512);
    // comanda o inicio do email a ser enviado
    fputs($conexao, "DATA\r\n", 512);
    //formato o campo da mensagem
    $mensagem = wordwrap( $mensagem, 50, "<br>", 1);
    $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;
    if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
    echo "o arquivo ".$arquivo["name"]." existe. Tamanho do arquivo: ".$arquivo["size"];
    $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
    $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));
    $anexo = base64_encode($anexo);
    fclose($fp);
    $anexo = chunk_split($anexo);
    $boundary = "XYZ-" . date("dmYis") . "-ZYX";
    fputs($conexao, "MIME-Version: 1.0\r\n");
    fputs($conexao, "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n");
    fputs($conexao, "--$boundary\n");
    fputs($conexao, "Content-Transfer-Encoding: 8bits\n");
    fputs($conexao, "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n");
    fputs($conexao, "Content-Transfer-Encoding: base64\n\n");
    fputs($conexao, "$anexo\n");
    fputs($conexao, "$boundary\n");
    fputs($conexao, "From: <$email_from>\r\n");
    fputs($conexao, "To:<$email>\r\n");
    fputs($conexao, "Subject: $assunto\r\n");
    fputs($conexao, "Content-Type: ".$arquivo["type"]."\n");
    fputs($conexao, "\r\n");
    fputs($conexao, "$mensagem\r\n.\r\n");
    // encerra a conexão com o servidor
    fputs($conexao, "QUIT\r\n", 512);
    fclose($conexao);
    exit;
    }
    ?>


    [/codebox]

    Cara eu consegui resolver aqui, no meu caso eu tava fazendo errado, tava colocando os cabeçalho que montam o corpo do emial, junto com o cabeçalho do proprio e-mail, vou colocar aqui o pedaço do codigo que eu corrigi:

    fclose($fp);

    $anexo = chunk_split($anexo);

    $boundary = "XYZ-" . date("dmYis") . "-ZYX";

    $mens = "--$boundary\n";

    $mens .= "Content-Transfer-Encoding: 8bits\n";

    $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain

    $mens .= "$mensagem\n";

    $mens .= "--$boundary\n";

    $mens .= "Content-Type: ".$arquivo["type"]."\n";

    $mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";

    $mens .= "Content-Transfer-Encoding: base64\n\n";

    $mens .= "$anexo\n";

    $mens .= "--$boundary--\r\n";

    $mensagem =$mensagem.$mens;

    fputs($conexao, "MIME-Version: 1.0\r\n");

    fputs($conexao, "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n");

    //fputs($conexao, "Content-Type: ".$arquivo["type"]."\n");

    fputs($conexao, "From: <$email_from>\r\n");

    fputs($conexao, "To:<$email>\r\n");

    fputs($conexao, "Subject: $assunto\r\n");

    fputs($conexao, "\r\n");

    fputs($conexao, "$mensagem\r\n.\r\n");

    fputs($conexao, "--$boundary\n");

    //fputs($conexao, "Content-Transfer-Encoding: 8bits\n");

    //fputs($conexao, "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n");

    //fputs($conexao, "Content-Transfer-Encoding: base64\n\n");

    //fputs($conexao, "$anexo\n");

    fputs($conexao, "$boundary\n");

    // encerra a conexão com o servidor

  5. Cara eu to com um prolema parecido.

    Eu pequei esse mesmo escript para uso no meu sistema , mas no meu caso ue não tenho um servidor de email configurado, então tenho que usar um externo por isso tivew que mudar o cadigo para usar SMTP.

    O problem que to tendo é o seguinte: qundo mando o e-mail, vai tudo beleze e o anexo ate chega, mas chega sem o nome e quando tento abri, fala que a visualização do aquivo não é possivel.

    Esse é o codigo que to usando:


    <?php
    $servidor= ""; // nome do servidor
    $porta = 25; // número da porta, o email sempre fica na 25
    $timeout = 10; // tempo para expirar a tentativa de conexão
    //pego os dados enviados pelo formulario
    $nome = "";//Nome de quem enviou
    $email = "";//para
    $mensagem =$_POST['mensagem'];//Menssagem
    $assunto = "Feliz Anivesário";
    $email_from = "";//email de quem enviou
    // abre conexão com o servidor SMTP utilizando a função fsockopen
    $conexao = @fsockopen($servidor, $porta, $errno, $errstr, $timeout);
    // se houve erro a variável $errno vem ligada
    if ($errno){
    echo "Erro ao conectar ao $servidor na $porta: ".$errstr;
    exit;
    }
    // estabelece um email de retorno para receber msgs de erro
    fputs($conexao, "MAIL FROM:<$email_from>\r\n", 512);
    // estabelece o endereço de envio
    fputs($conexao, "RCPT TO:<$email>\r\n", 512);
    // comanda o inicio do email a ser enviado
    fputs($conexao, "DATA\r\n", 512);
    //formato o campo da mensagem
    $mensagem = wordwrap( $mensagem, 50, "<br>", 1);
    $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;
    if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
    echo "o arquivo ".$arquivo["name"]." existe. Tamanho do arquivo: ".$arquivo["size"];
    $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
    $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));
    $anexo = base64_encode($anexo);
    fclose($fp);
    $anexo = chunk_split($anexo);
    $boundary = "XYZ-" . date("dmYis") . "-ZYX";
    fputs($conexao, "MIME-Version: 1.0\r\n");
    fputs($conexao, "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n");
    fputs($conexao, "--$boundary\n");
    fputs($conexao, "Content-Transfer-Encoding: 8bits\n");
    fputs($conexao, "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n");
    fputs($conexao, "Content-Transfer-Encoding: base64\n\n");
    fputs($conexao, "$anexo\n");
    fputs($conexao, "$boundary\n");
    fputs($conexao, "From: <$email_from>\r\n");
    fputs($conexao, "To:<$email>\r\n");
    fputs($conexao, "Subject: $assunto\r\n");
    fputs($conexao, "Content-Type: ".$arquivo["type"]."\n");
    fputs($conexao, "\r\n");
    fputs($conexao, "$mensagem\r\n.\r\n");
    // encerra a conexão com o servidor
    fputs($conexao, "QUIT\r\n", 512);
    fclose($conexao);
    exit;
    }
    ?>


    [/codebox]

  6. Ola, pessoal

    eu tava querendo colocar um script no meu sistema que me lista-se meus contatos no MSN, eu até achei uma classe no phpclasses.


    <?
    ob_implicit_flush();
    class MSN
    {
    var $_AccountName = '';
    var $_AccountPassword = '';

    // var $_DisServerAddress = '207.46.106.175';
    var $_DisServerAddress = 'messenger.hotmail.com';
    var $_DisServerPort = 1863;
    var $_NotServerAddress;
    var $_NotServerPort;
    var $_Debug = false;
    var $_Connected = false;
    var $_Socket;
    var $_iD = 0;
    var $_EncodeProtocol = 'MD5';
    var $_MSNver = '5.0.0543';
    var $_Status = array(
    "Online" => "NLN", // Áª»ú
    "Offline" => "FLN", // ÍÑ»ú
    "Hidden" => "HDN", // ÒþÉí
    "Idle" => "IDL", // ·¢´ô
    "Away" => "AWY", // À뿪
    "Busy" => "BSY", // æµ
    "Be Right Back" => "BRB", // ÂíÉÏ»ØÀ´
    "On the Phone" => "PHN", // ½ÓÌýµç»°
    "Out to Lunch" => "LUN", // Íâ³ö¾Í²Í
    );
    var $_ConnectStatus = '';
    var $_useLanguage = '0x0804';
    var $MSNProtocol = 'MSNP2';
    var $ScreenName = '';
    var $TimeOut = 30;
    var $ScanTime = 1;
    var $ERRiD;
    var $ERRiNFO = '';
    function MSN( $_AccountName, $_AccountPassword, $ScreenName = "", $_ConnectStatus = "Online" )
    {
    if ( $_AccountName )
    $this->_AccountName = $_AccountName;
    else
    return false;

    if ( $_AccountPassword )
    $this->_AccountPassword = $_AccountPassword;
    else
    return false;

    if ( $ScreenName )
    $this->ScreenName = $ScreenName;
    else
    $this->ScreenName = $this->_AccountName;

    if ( $_ConnectStatus )
    $this->_ConnectStatus = $this->_Status[$_ConnectStatus];
    else
    $this->_ConnectStatus = $this->_Status["Online"];
    }

    function Login()
    {
    if ( $this->_Debug )
    $this->_ShowDebug( "ÕýÔÚÁ¬½Ó MSN µÄ Dispatch ·þÎñÆ÷¡­¡­", "black" );
    if ( !$this->_Connected )
    if ( $this->_Socket = @fsockopen( $this->_DisServerAddress, $this->_DisServerPort, $this->ERRiD, $this->ERRiNFO, $this->TimeOut ) )
    $this->_Connected = true;
    else
    die( "Á¬½Ó Dispatch ·þÎñÆ÷³ö´í£¡" );
    $this->_SendCMD( 'VER '.$this->_iD.' '.$this->MSNProtocol );

    if ( eregi( '^VER ', $this->_RecvData() ) )
    {
    if ( $this->_Debug )
    $this->_ShowDebug( "Óë MSN µÄ Dispatch ·þÎñÆ÷£º$this->_DisServerAddress ͨѶ³É¹¦", "green" );
    }
    $this->_SendCMD( 'INF '.$this->_iD++ );

    if ( eregi( '^INF ', $this->_RecvData() ) )
    {
    if ( $this->_Debug )
    $this->_ShowDebug( "ÒѾ­µÃµ½¼ÓÃÜ°üÁË£¡", "green" );
    }

    $this->_SendCMD('USR ' . $this->_iD++ . ' ' . $this->_EncodeProtocol . ' I ' . $this->_AccountName);

    $inbound = $this->_RecvData();

    if (eregi('^XFR ', $inbound))
    {
    if ( $this->_Debug )
    $this->_ShowDebug( "Óû§µÄ Passport ×ÊÁÏÕýÔÚ·¢ËÍ£¬µÈ´ý´«ÊäÖÐ", "black" );

    @list($cmd, $trid, $type, $info, $etc) = explode(' ', $inbound);

    $info = trim($info);

    if ( $this->_Debug )
    $this->_ShowDebug( "ÒѾ­½ÓÊÕµ½´«Êä·þÎñÆ÷µÄÐÅÏ¢£º$info", "black" );

    @list($srv, $prt) = explode(':', $info);

    $this->_NotServerAddress = $srv;

    $this->_NotServerPort = $prt;

    if ( $this->_Debug )
    $this->_ShowDebug( "Notification ·þÎñÆ÷µÄµØַΪ£º$srv", "blue" );

    if ( $this->_Debug )
    $this->_ShowDebug( "Notification ·þÎñÆ÷µÄµØַΪ£º$prt", "blue" );

    if ( $this->_Debug )
    $this->_ShowDebug( "¹Ø±ÕÓë Dispatch ·þÎñÆ÷µÄ SocketÁ¬½ÓÖС­¡­", "blue" );

    $this->_Connected = false;

    $this->_LoginNotificationServer();
    }

    }

    function KeepConnect()
    {
    while( 1 )
    {
    $_RecivedData = $this->_RecvData();
    if( eregi( '^RNG ', $_RecivedData ) )
    $bla = new _MSNuser( $_RecivedData, $this->_AccountName );

    // usleep( $this->ScanTime * 1000 );
    }
    }

    function Debug( $_DebugStatus = true )
    {

    $this->_Debug = $_DebugStatus;

    } // ½áÊø Debug º¯Êý

    function _LoginNotificationServer() {

    if ( $this->_Debug )
    $this->_ShowDebug( "¿ªÊ¼Óë Notification ·þÎñÆ÷Á¬½Ó", "black" );

    if ( !$this->_Connected )
    {
    if ( !($this->_Socket = @fsockopen( $this->_NotServerAddress, $this->_NotServerPort, $this->ERRiD, $this->ERRiNFO, $this->TimeOut )) )
    die("noti");

    $this->_Connected = true;


    $this->_SendCMD( 'VER '.$this->_iD++.' '.$this->MSNProtocol );

    if ( eregi( '^VER ', $this->_RecvData() ) )
    {
    if ( $this->_Debug )
    $this->_ShowDebug( "Óë Notification µÄ·þÎñÆ÷£¨$this->_NotServerAddress£©Í¨Ñ¶³É¹¦", "green" );
    }


    $this->_SendCMD( 'INF '.$this->_iD++ );

    if ( eregi( '^INF ', $this->_RecvData() ) )
    {
    // ¼ÙÈçÉèÖÃÐèÒªµ÷ÊÔ±ê¼Ç£¬ÔòÊä³öµ±Ç°Ö´ÐеÄ״̬
    if ( $this->_Debug )
    $this->_ShowDebug( "ÒѾ­È¡µÃ¼ÓÃÜ°ü", "green" );
    }


    $this->_SendCMD( 'USR '.$this->_iD++.' '.$this->_EncodeProtocol.' I '.$this->_AccountName );

    $inbound = $this->_RecvData();

    if ( eregi( '^USR ', $inbound ) )
    {
    @list( $cmd, $trid, $enc, $mode, $digest ) = explode( ' ', $inbound );

    if ( trim( $mode ) == 'S' )
    {
    // ¼ÙÈçÉèÖÃÐèÒªµ÷ÊÔ±ê¼Ç£¬ÔòÊä³öµ±Ç°Ö´ÐеÄ״̬
    if ( $this->_Debug )
    $this->_ShowDebug( "ÒѾ­È¡µÃ¼ÓÃÜģʽ", "green" );

    $encpass = md5( trim( $digest ) . $this->_AccountPassword );

    $this->_SendCMD( 'USR '.$this->_iD++.' MD5 S '.$encpass );

    // ¼ÙÈçÉèÖÃÐèÒªµ÷ÊÔ±ê¼Ç£¬ÔòÊä³öµ±Ç°Ö´ÐеÄ״̬
    if ( $this->_Debug )
    $this->_ShowDebug( "¼ÓÃܺóµÄÕ˺óÃÜÂë·¢ËÍÖУº$encpass", "black" );
    }
    }


    $final = $this->_RecvData();

    if ( eregi( '^USR ', $final ) )
    {
    @list( $cmd, $trid, $stat, $usr, $sn, $etc ) = explode( ' ', $final );

    if ( trim( $stat ) == 'OK' )
    {
    // ¼ÙÈçÉèÖÃÐèÒªµ÷ÊÔ±ê¼Ç£¬ÔòÊä³öµ±Ç°Ö´ÐеÄ״̬
    if ( $this->_Debug )
    $this->_ShowDebug( "µÇ½ MSN ³É¹¦¡£", "green" );

    // ·¢Ë͵ǽºóÏÔʾÎÒµÄ״̬µÄÖ¸Áî
    $this->_SendCMD( 'CHG '.$this->_iD++.' '.$this->_ConnectStatus );

    $this->_SendCMD( 'BLP '.$this->_iD++.' AL' );

    // ·¢ËÍÏÔʾÃû³Æ
    $this->_SendCMD( 'REA '.$this->_iD++.' '.$this->_AccountName.' '.urlencode( $this->ScreenName ) );

    // $this->_SendCMD('CVR '.$this->_iD++.' 5.0.0543 5.0.0543 1.0.0000');
    $this->_SendCMD('CVR '.$this->_iD++.' '.$this->_useLanguage.' win 4.10 i386 MSMSGS '.$this->_MSNver.' MSMSGS');
    }
    }
    }
    }


    function _RecvData()
    {
    if ( !$this->_Connected )
    return false;

    $OriginalData = fgets( $this->_Socket, 2048 );

    if( $OriginalData != "" )
    {
    if ( $this->_Debug )
    $this->_ShowDebug( "ÒѾ­ÊÕµ½Êý¾Ý£º$OriginalData", "green" );

    flush();

    return $OriginalData;
    }

    else
    return false;
    }

    function _SendCMD( $Data, $DataStream = "ASCII" )
    {
    if ( !$this->_Connected )
    return false;

    if ( $this->_Debug )
    $this->_ShowDebug( "ÕýÔÚ·¢ËÍÖ¸Á$Data", "red" );

    flush();

    if( $DataStream == "ASCII" )
    $Data = $Data."\r\n";

    return fputs( $this->_Socket, $Data );
    } // ½áÊø _SendCMD º¯Êý

    function _ShowDebug( $_descINFO, $_descCOLOR )
    {

    echo "<font color=$_descCOLOR>";
    echo $_descINFO;
    echo "</font><br>";

    } // ½áÊø _ShowDebug º¯Êý

    } // ½áÊø MSN Àà¿â

    class _MSNuser
    {
    var $TimeOut = 30;
    var $_Connected = false;
    var $ERRiD;
    var $ERRiNFO = '';
    var $ScanTime = 1;
    var $_Socket;
    var $_switchip;
    var $_switchport;
    var $_iD = 1;
    var $_end = false;
    function _MSNuser( $_OriginalData, $_AccountName ){
    echo "nieuwe";

    // $this->_iD = 1;

    @list( $cmd, $sesid, $switchip, $bla, $hash, $contact_email, $contact_name ) = explode( " ", $_OriginalData );
    //echo "·ÖÎöµÃµ½£º".$switchip;

    @list( $this->_switchip, $this->_switchport ) = explode( ":", $switchip );

    if ( $this->_Debug )
    $this->_ShowDebug( "ÕýÔÚÁ¬½ÓµØÖ·£º$this->_switchip", "red" );

    if ( $this->_Debug )
    $this->_ShowDebug( "ÕýÔÚÁ¬½Ó¶Ë¿Ú£ºthis->_switchport", "red" );

    if ( $this->_Socket = fsockopen( $this->_switchip, $this->_switchport, $this->ERRiD, $thos->ERRiNFO, $this->TimeOut ) )
    $this->_Connected = true;

    // die("unablue cont contact");

    //set_file_buffer($this->_Socket,0);

    //ANS 1 212dewse@hotmail.com 989495494.750408580 11742066

    $this->_SendCMD( "ANS ".$this->_iD++." ".$_AccountName." ".$hash." ".$sesid );

    /* while( $this->_Connected )
    {

    if ($this->_RecvData()) {

    if ($this->_end) {
    // usleep( 10 * 1000 );
    }
    }
    }
    */
    // $this->SendMSG("ÄãºÃ£¬ÎÒÊÇ»úÆ÷ÈË£¬\r\nÈç¹ûÄãÓÐʲôÊÂÇéÇëÊäÈëÒÔÏÂÖ¸Á\r\n\/help\r\n\/time\r\n\/date\r\n\/bye\r\n\/killserver");

    while (!feof($this->_Socket))
    {
    $output=fgets( $this->_Socket,2048);
    if(ereg("hi",$output))
    {
    $this->SendMSG("hello ".$_AccountName);
    }
    if(ereg("fuck",$output))
    {
    $this->SendMSG("hey man, dont say this!");
    }
    if(ereg("/time",$output))
    {
    $time=date("H:i");
    $this->SendMSG($time);
    }
    if(ereg("/date",$output))
    {
    $time=date("m-d-y");
    $this->SendMSG($time);
    }
    if(ereg("/bye",$output))
    {
    $this->SendMSG( "Bai" );
    $this->_SendCMD( "OUT", "BIN" );
    /* echo"Connection to switchboard closed<br>&lt;script>self.close();</script>";*/
    // exit;
    }
    if(ereg("/killserver",$output))
    {
    $this->SendMSG( "Bai" );
    $this->_SendCMD( "OUT", "BIN" );
    /* echo"Connection to switchboard closed<br>&lt;script>self.close();</script>";*/
    exit;
    }
    if(ereg("TypingUser: ",$output))
    {
    /* echo "&lt;script>document.bgColor = \"#113311\";setTimeout(\"black()\", 5000);</script>"; */
    }
    }

    } // ½áÊø _MSNuser µÄϤ¹¹º¯Êý

    function SendMSG( $_MSG ){

    // $header = "MIME-Version: 1.0\r\nContent-Type: text/plain; charset=UTF-8\r\nX-MMS-IM-Format: FN=MS%20Shell%20Dlg; EF=; CO=0; CS=0; PF=0\r\n\r\n";
    $header ="MIME-Version: 1.0" . "\r\n";
    $header .="Content-Type: text/plain; charset=UTF-8" . "\r\n\r\n";

    $header .= $_MSG;

    $this->_SendCMD( 'MSG '.$this->_iD++.' N '.strlen( $header )."\r\n".$header, "BIN" );
    }

    function _RecvData()
    {


    $d = fgets ( $this->_Socket, 2048 );

    $_result = trim( $d );
    if ($_result)
    {
    flush();
    // return $_
    }
    // Çå¿Õ Socket ÖеÄÄÚÈÝ

    return $d;
    }

    function _ParseData($Origin)
    {


    $d = fgets ( $this->_Socket, 2048 );

    flush();

    return $d;
    }


    function _SendCMD( $_CMD, $_DataType = "ASCII" )
    {
    // $_Data = $_CMD." ".$this->_iD++." ".$_Data;
    $_Data = $_CMD;

    if ( $this->_Debug )
    $this->_ShowDebug( "ÕýÔÚ·¢ËÍÊý¾Ý£¨µ½¶Ô·½Óû§£©£º$data", "red" );

    if( $_DataType = "ASCII" )
    $_Data .= "\r\n";

    return fputs( $this->_Socket, $_Data );

    flush();

    } // ½áÊø _SendCMD º¯Êý

    function _ShowDebug( $_descINFO, $_descCOLOR )
    {
    echo "<font color=$_descCOLOR>";
    echo $_descINFO;
    echo "</font><br>";
    }
    }
    flush();

    $MSN = new MSN( 'itibere_1@hotmail.com', 'soliti', 'Itibere', "Online" );

    $MSN->Debug();

    $MSN->Login();

    $MSN->KeepConnect();

    ?>
    [/codebox]

    Mas pelo que vi ele usa o endereço "messenger.hotmail.com", mas não esta funcionando.

    Alguém conhece essa classe , ou alguma outra.

    Abraços

  7. Cara para colocar MASK você vai ter que usar o javascript, no php você so consegue validar se o format o esta certo.

    Tenta esse codigo ai( eu pequei na net, mas não lembro onde);

    // para compo tipo moeda
    function Limpar(valor, validos) {
    // retira caracteres invalidos da string
    var result = "";
    var aux;
    for (var i=0; i < valor.length; i++) {
    aux = validos.indexOf(valor.substring(i, i+1));
    if (aux>=0) {
    result += aux;
    }
    }
    return result;
    }
    
    //Formata número tipo moeda usando o evento onKeyDown
    
    function Formata(campo,tammax,teclapres,decimal) {
    var tecla = teclapres.keyCode;
    vr = Limpar(campo.value,"0123456789");
    tam = vr.length;
    dec=decimal
    
    if (tam < tammax && tecla != 8){ tam = vr.length + 1; }
    
    if (tecla == 8 )
    { tam = tam - 1; }
    
    if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 )
    {
    
    if ( tam <= dec )
    { campo.value = vr; }
    
    if ( (tam > dec) && (tam <= 5) ){
    campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ); }
    if ( (tam >= 6) && (tam <= 8) ){
    campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); 
    }
    if ( (tam >= 9) && (tam <= 11) ){
    campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); }
    if ( (tam >= 12) && (tam <= 14) ){
    campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); }
    if ( (tam >= 15) && (tam <= 17) ){
    campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam );}
    } 
    //onKeyDown="Formata(this,20,event,2)"
    }
    //**

  8. Tenho a seguinte função para validar o telefone;

    o formato e: (32)-(12345678);

    Mas a ER sempre retorna Data invalida, não consigo ver o erro.

    function setTelFixo($strFixo){
        if(ereg("^\(([0-9]{2})\)-[0-9]{8}$",$strFixo)){
            echo "A data Digitada é inválida";
        }else{
            $this->telFixo=$strFixo;
        }
    }

  9. Olha o erro Cannot redeclare verif_cpf() e claro: Voce esta declando uma mesma função repetidas vezes num mesmo lugar.

    O exemplo classico deste erro e dar varios includes do mesmo arquivo,

    <?php
    include "funcoes.php";
    
    //seu copdigo;
    
    
    include "funcoes.php";
    
    //Seu codigo
    .
    .
    .
    .
    ?>

  10. Da mesma forma que você usa a não pesrsistente, a diferença que na não persiste quando o script termia a conexão

    é fechada, então toda vez que você executa um musql_connect() ele abre uma nova conexão. Com a conexçao persistente o fim do script não fecha a conexão, então da proxima vez que você usar o mysql_pconnect ele vai procurar por uma conexão se encontrar ele a usa e não abre outra.

  11. sim, use mysql_pconnect();

    Do Manual PHP

    mysql_pconnect

    (PHP 3, PHP 4, PHP 5)

    mysql_pconnect -- Abre uma conexão persistente com um servidor MySQL

    Descrição

    resource mysql_pconnect ( [string server [, string username [, string password [, int client_flags]]]] )

    Retorna um identificador de link persistente ao MySQL em caso de sucesso, ou FALSE se houver erro.

    mysql_pconnect() estabelece uma conexão com o servidor MySQL. Os seguintes padrões são assumidos para os parametros opcionais que estiverem faltando: server = 'localhost:3306', username = nome do usuário que for dono do processo do servidor e password = password vazio. O parametro client_flags pode ser uma combinação das constantes MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE ou MYSQL_CLIENT_INTERACTIVE.

    O parametro server pode também incluir um numero de porta. Ex: "hostname:port" ou um caminho para um socket ex: ":/path/to/socket" para o localhost.

    Nota: Suporte a ":port" foi adicionado em 3.0B4.

    Suporte a ":/path/to/socket" foi adicionado em 3.0.10.

    mysql_pconnect() aje muito parecido com mysql_connect() com duas maiores diferenças.

    Primeira,ao conectar, a função primeiro irá tentar encontrar um conexão persistente que já esteja aberta com o mesmo servidor, nome de usuário e senha. Se uma é encontrada, um identificador para ela será retornada ao invés de abrir uma nova conexão.

    Segundo, a conexão com o servidor SQL não será fechada quando termina a execução do script. Ao invés, a conexão continuará aberta para uso futuro(mysql_close() não irá fechar conexões abertas por mysql_pconnect()).

    O parametro opcional client_flags tornou-se disponivel no PHP 4.3.0.

    Este tipo de conexão é portanto chamada 'persistente'.

    Nota: Note que este tipo de conexão funciona somente se você esta usando o PHP como módulo. Veja a seção Persistent Database Connections para maiores informações.

    Atenção

    Usar conexões persistentes pode requerer alguns ajustes na sua configuração do Apache e MySQL para assegurar que você não ultrapasse o limite de conexões permitidos pelo MySQL.

    Outra parte do Manual:

    Atenção 
    Existem mais alguns cuidados a se tomar quando usando conexões persistentes. Um deles é que, quando usando travamento de tabela em uma conexão persistente, se o script por qualquer razão não pode destravar a mesma, então scripts subsequentes usando a mesma conexão serão bloqueados indefinidamente e pode ser preciso reiniciar o servidor http ou o banco de dados. Outro cuidado a se ter é, quando usando transações, um bloco de transação também será carregado para o próximo script que usar a conexão se a execução do script terminar primeiro que o bloco de transação. Em ambos os casos, você pode usar register_shutdown_function() para registrar uma função simples de limpeza para destravar suas tabelas e fazer roll back de suas transação. O ideal é evitar o problema completamente não usando conexões persistentes em scripts que usam travamento de tabelas ou transações (você ainda pode usar elas nos outros casos

    Por isso é melhor fazer como o M@luco Belez@ falou.

  12. Tire o "@" desta linha : $fd = @fopen($file_name, 'r'); o sistema pode não estar conseguibdi abrir o arquivo, e como tem o "@" ele ta escondendo o erro, em coseguencia as funçoes seguintes tb esta gerando erro.

    Tire o "@" e veja o erro que vai dar.

  13. Em uma análise mais profunda esse tipo de situação pode servir para o pessoal do Software Livre repensar um pouco mais a forma como grandes projetos é manejada. Não são raros os casos de projetos livres que obrigaram seus usuários a passarem pelo mesmo tipo de situação que o PHP. O Drupal, por exemplo, CMS usado aqui no Meiobit é um exemplo de aplicação que, de uma versão para outra, tornou todos os seus módulos incompatíveis e exigiu que programadores e usuários fizessem malabarismos. Podemos citar também o Firefox, que na versão 2 obrigou os criadores de extensões a adaptar suas criações à uma nova API. São exemplos para o SL de que talvez seja necessário um comprometimento maior com certas políticas tipicamente empresariais para manter seu mercado e sua comunidade.

    só acontece no software livre né? O windows 3.11 -> 98 -> XP -> Vista não quebra nenhuma funcionalidade...

    evolução é isso... retirar o que não funciona e aprimorar o que está dando certo. Todas as linguagens avoluem e quebram dependências. se empresas tiveram de "reescrever sistemas do 0" por causa do PHP 5 eu posso imaginar a qualidade com que esses códigos foram originalmente escritos.

    bola fora do meiobit... (mais uma)

    Concordo,

    as mudanças do php4 para o php5, so tornou obrigatorio o que antes era deixado por conta dos desenvolvedores.

    è o caso das register_globals que poderiam ou não serem ligadas no php4, e foram colocadas como "off" no php5 como default, muitos colocavam em "on" por que era mais "facil" assim, o que não quer dizer que seja a maneira mais correta de se fazer ( se é que existe uma maneira mais correta em programação), mas essa mudança trouxe muitos porblemas para quem tinha php4 e usava como "on" já que teve que revisar todo o codigo legado, ou convenver os provedores a colocarem como "on".

    Quem nesse caso quebrou compatibilidade, o desenvolvedor que usava a forma mais "facil", ou php que se tornou mais seguro?

  14. O site qeu você indicou, ele se enquadra ma categoria de "agregador", já ele em não não disponibiliza o contru do em Formato "RSS", apenas exibe o contegou que ele buscou de um "formencedor de RSS".

    Verifique as configurações do seu servidor, o codigo que indique funciona perfeiamente aqui onde eu o uso.

×
×
  • Criar Novo...