itibere
-
Total de itens
313 -
Registro em
-
Última visita
Posts postados por itibere
-
-
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.
-
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.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] -
utilize CSS
Para ocultar <div style='display=none'>
Para exibir <div style='display=block'>
-
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
-
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] -
remova o session_destroy();
-
de um
session_unset();
session_destroy();
na sua sessao, na pagina de login, com isso toda vez que você voltar na pagina de login, você vai destruir as sessao já existente
-
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><script>self.close();</script>";*/
// exit;
}
if(ereg("/killserver",$output))
{
$this->SendMSG( "Bai" );
$this->_SendCMD( "OUT", "BIN" );
/* echo"Connection to switchboard closed<br><script>self.close();</script>";*/
exit;
}
if(ereg("TypingUser: ",$output))
{
/* echo "<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
-
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)" } //**
-
declare;
class algunacoisa {
private $varialvel;
}
-
??? Testei e aqui está perfeito...
setTelFixo("55-99999999");
Mas eu quero com parenteses:
setTelFixo("(55)-99999999");
Resolvi, era "orelhisse" minha, tava faltando um ! dentro do if.
-
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; } }
-
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 . . . . ?>
-
Pede para quem admistra o servidor abilitaro seu acesso. Se for um provedor, entre em contato com o suporte e passe para ele o seu problema.
-
Warning: include() [function.include]: URL file-access is disabled in the server configuration in C:\site\exemplo.php on line 1
Esta é uma restrição do seu servidor do arquivo que você ta tentando abrir,ele esta configurado para não permitir esta operação.
mais detalhes veja aqui
-
Voce esta sem permissão de acesso ao seu servidor.
-
Lembre-se das restrições deste tipo de conexão. É prefierivel corrigir o problema de lentidão no seu servidor.
-
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.
-
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.
-
Este diz que você esta dando alguma saida para o html antes de enviar o header, pode ser um echo, uma menssagem de erro ou ate mesmo uma linha em branco.
-
-
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?
-
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.
-
Dê uma olhada aqui tem o lógica basica para criar um RSS. é só modificar e acrescentar o que você quer.
Eu olhei o site que você indicou, ele não me pareceu ser um RSS, so um site de noticias.
problemas com imap
em PHP
Postado
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.