quarta-feira, 29 de julho de 2009

Upload de arquivos com bloqueio de tipo (Jscript)

<script>
function testaTudo(form) {

var i=0;
var Ctrl=new Array();

var nome = document.procurado.arquivo.value;

if (nome) {

var extensoesOk = ",.gif,.jpg,.pdf,";

var extensao = "," + nome.substr( nome.length - 4 ).toLowerCase() + ",";

if(extensoesOk.indexOf( extensao ) == -1) {
Ctrl[i++] = "Formato invalido do arquivo.\n";y=1;
}
}


if (y==1) {
validatePrompt (Ctrl.join(""),'')
return (false);
y=0;
}
else return (true);
}


function runSubmit (form) {
if (!testaTudo(form)) return;
document.procurado.submit();
return;
}


function validatePrompt (PromptStr) {
alert ("Os campos abaixo são obrigatórios:\n\n"+PromptStr);
return;
}


</script>

<form action='#' method="post" name="procurado" enctype="multipart/form-data" onSubmit="return false;">


<input type="file" name="arquivo" size="20" class="preto" id="arquivo" />
<input type="submit" value="Gravar" onClick="runSubmit(this.form, this);" />

</form>

terça-feira, 7 de julho de 2009

Códigos de erro de envio de email

Código numérico: 5.0.0

Causa possível: Mailbox full

Código numérico: 5.1.0

Causa possível: Esse código indica uma falha geral baseada no categorizador (falha de endereço incorreto). Um endereço de email ou outro atributo não pode ser encontrado no diretório. Esse problema poderá ocorrer se as entradas do contato não tiverem o conjunto de atributos ‘targetAddress’. Esse problema ocorre com mais freqüência quando o categorizador recebe erros ‘objeto não encontrado’ ao tentar recuperar a propriedade ‘homeMDB’.

Também pode ocorrer se tiver usado o Microsoft Outlook para salvar um email como um arquivo e um usuário tiver aberto e reaplicado essa mensagem em modo offline. A propriedade da mensagem somente preserva o legacyExchangeDN quando o Outlook entrega a mensagem. Por isso, a busca homeMDB pode falhar.

Solução de problemas: Verifique o endereço do destinatário e envie a mensagem novamente. Verifique se o endereço do destinatário está formatado corretamente e se o categorizador conseguiu resolver o destinatário.

Código numérico: 5.1.1

Causa possível:
• A conta de email não existe na organização para a qual a mensagem foi enviada. Esse problema pode surgir se tiver ocorrido algum problema quando os usuários foram movidos entre os sites. Por exemplo, se um usuário for movido para um servidor em um grupo administrativo diferente e, em seguida, responder a uma mensagem antiga, ou se o usuário não recriar o seu perfil do Outlook, será usado o endereço herdado do grupo administrativo antigo e será gerada uma notificação de falha na entrega.
• A mensagem foi enviada para entradas do catálogo particular de endereços obsoletas.
• O categorizador rejeitou a entrega porque você configurou o contato SMTP com caracteres do comentário SMTP RFC821.
Solução de problemas: Use o procedimento de solução de problemas descrito para o código numérico 5.1.0.

Código numérico: 5.1.3

Causa possível: Sintaxe de endereço incorreta. Por exemplo, um contato está configurado com um atributo ‘targetAddress’ que não possui um tipo de endereço.

Solução de problemas: Use o procedimento de solução de problemas descrito para o código numérico 5.1.0.

Código numérico: 5.1.4


Causa possível: Dois objetos têm o mesmo endereço proxy e o email foi enviado para esse endereço. Este problema também pode ocorrer se o destinatário não existir no servidor remoto.

Solução de problemas: Verifique o endereço do destinatário e envie a mensagem novamente.

Código numérico: 5.1.6

Causa possível: Os atributos de diretório do usuário, como homeMDB ou msExchHomeServerName, podem estar ausentes ou corrompidos.

Solução de problemas: Verifique a integridade dos atributos de diretório do usuário e execute o Serviço de Atualização de Destinatário novamente para ter certeza de que os atributos necessários para o transporte são válidos.

Código numérico: 5.1.7

Causa possível: O remetente tem um atributo de mensagem malformado ou ausente na estrutura de diretório. O categorizador Transporte não pode entregar o item de email sem um atributo de mensagem válido.

Solução de problemas: Verifique a estrutura de diretório do remetente e determine se o atributo de mensagem existe.

Código numérico: 5.2.1

Causa possível: A mensagem local foi recusada porque é muito grande. A ausência de um SID (Identificador de Segurança) da Conta Principal no destinatário também pode causar essa mensagem de erro.

Solução de problemas: Verifique as permissões de acesso além do tamanho da mensagem. Determine se o destinatário tem um SID.

Código numérico: 5.2.2

Causas possíveis: A caixa de correio do destinatário está acima de seu limite de armazenamento.

Solução de problemas: Verifique o armazenamento da caixa de correio e o limite de cota de armazenamento da fila.

Código numérico: 5.2.3


Causa possível: A mensagem é muito grande para a cota local. Por exemplo, um usuário remoto do Exchange pode ter restrições de entrega definidas com tamanho máximo da mensagem de entrada.

Solução de problemas: Envie a mensagem novamente sem anexos ou defina o limite do lado do servidor ou do lado do cliente que permita um tamanho de mensagem maior.

Código numérico: 5.3.0

Causas possíveis: O Exchange Server 2003 tem um recurso que permite que o Exchange 2003 opere sem o MTA (Agente de transferência de mensagens). Se uma mensagem foi enviada incorretamente usando o roteiro rota do MTA, esta notificação de status de entrega será retornada para o remetente.

Observação Apesar de o Exchange 2003 poder operar com o MTA, a Microsoft não recomenda ou oferece suporte a essa configuração.

Para ativar esse recurso e evitar que mensagens entrem na fila do MTA, execute as seguintes etapas:
1. Desabilite o serviço MTA.
2. Defina o valor DWORD para 0 nas seguintes subchaves do Registro para cada banco de dados de armazenamento de informações e armazenamento de pastas públicas:
HKLM\System\CurrentControlSet\Services\MsExchangeIS\\
\Gateway In Threads

HKLM\System\CurrentControlSet\Services\MsExchangeIS\\
\Gateway Out Threads
Ao fazer isso, você estará disponibilizando recursos de armazenamento associados com a entrega do MTA.
3. Reinicie o armazenamento de informações.
Solução de problemas: Verifique a topologia de roteamento. Use a ferramenta WinRoute para verificar se as rotas são corretamente replicadas entre servidores e grupos de roteamento.

Código numérico: 5.3.3

Causa possível: O servidor remoto Exchange 2000 ou o servidor remoto Exchange 2003 não possui armazenamento em disco para conter email. Esse problema ocorrerá com mais freqüência quando o servidor de envio estiver enviando email com BDAT (DADOS binários). Esse código pode indicar também um erro de protocolo SMTP.

Solução de problemas: Verifique se o servidor remoto tem armazenamento suficiente para conter email e examine se há erros no log de protocolo SMTP.

Código numérico: 5.3.5


Causa possível: Foi detectada uma situação em que o servidor está configurado para retornar para si próprio.

Solução de problemas: e você tiver vários servidores virtuais SMTP configurados em seu computador do Exchange, verifique se eles estão funcionando como portas de entrada exclusivas e se a configuração da porta de saída SMTP é válida para evitar o loop entre servidores virtuais locais. Verifique a configuração dos conectores do servidor em relação a loops.

Por exemplo, certifique-se de que não integradores com espaço de endereço da organização local, exceto se você compartilhar o domínio e não selecionar Usar DNS para rotear cada espaço de endereço neste conector.
Certifique-se de que, se houver vários servidores virtuais, nenhum está definido para Todos os não atribuídos.

Código numérico: 5.4.0


Causas possíveis:
• Um host autoritativo não encontrado em DNS.
• A entrada do host inteligente está incorreta.
• O nome de domínio totalmente qualificado (FQDN) no arquivo HOSTS. Esse problema foi corrigido no Windows 2000 SP3.
• Há uma falha de DNS ou você construiu um endereço IP inválido para o seu host inteligente. *
• O SMTP VS não tem um nome de domínio totalmente qualificado (FQDN) válido ou sua consulta de FQDN do SMTP VS falhou.
• Um domínio SMTP do contato não resolve em nenhum espaço de endereçamento SMTP.

Solução de problemas: Use Nslookup para verificar o DNS. Verifique se o endereço IP está no formato literal do IPv4. Verifique se há uma entrada de DNS válida para o nome de servidor ou de computador em questão. Você está dependendo no FQDN no arquivo HOSTS, ignore-o e atualize a entrada no Exchange System Manager com um endereço IP válido ou nome correto.

Código numérico: 5.4.4


Causa possível: Não há rota para a mensagem, próximo salto não encontrado. Você instalou uma topologia Grupo de Roteamento, mas não há nenhum Conector de Grupo de Roteamento instalado entre os Grupos de Roteamento.

Solução de problemas: Adicione ou configure o seu Conector de Grupo de Roteamento entre os Grupos de Roteamento.

Código numérico: 5.4.6

Causa possível: Um loop de encaminhamento do categorizador foi detectado.
O atributo ‘targetAddress’ está definido em um usuário habilitado para caixa de correio. Pacote de host: Há um problema comum de configuração de host quando alguém cria um contato na OU (unidade organizacional) 1 e cria um usuário na OU 2 com o mesmo endereço de email usando a ferramenta de configuração do usuário

Solução de problemas:
• Este problema ocorre quando o contato A tem um destinatário alternativo que aponta para o contato B e o contato B tem um destinatário alternativo que aponta de volta para o contato A. Verifique o destinatário alternativo de cada contato.
• Verifique e remova o atributo ‘targetAddress’ de usuários habilitados para caixa de correio.
• Para hospedagem onde você deseja enviar email de um usuário em uma companhia (unidade organizacional) para outra companhia (unidade organizacional), é melhor configurar os seguintes objetos relacionados:
Usuário: Proxy SMTP: usuário@empresa.com
Contato: targetAddress: usuário@empresa.com; proxy SMTP: contact@company2.com

Código numérico: 5.4.8


Causa possível: Esse código indica uma condição de loop. Esse problema poderá ocorrer se uma das diretivas de destinatário contiver um domínio local que corresponda ao nome de domínio totalmente qualificado (FQDN) de um servidor Exchange na organização. Quando o categorizador processa email destinado a um domínio que corresponde ao nome de domínio totalmente qualificado (FQDN) de um servidor Exchange, é gerada uma notificação de falha na entrega com este código.

Solução de problemas: Se este problema ocorrer devido a um domínio que corresponde ao FQDN de um servidor Exchange na diretiva de destinatário, é necessário remover essa entrada.

Código numérico: 5.5.0

Causa possível: Erro de protocolo genérico (erro SMTP). A resposta do SMTP remoto ao nosso EHLO com um erro de nível 500 e o sistema de envio ENCERRARÃO a conexão e gerarão essa notificação de falha na entrega indicando que o servidor SMTP remoto não pode manipular o protocolo. (Por exemplo, se uma conta do Hotmail não estiver mais ativa, ocorrerá um erro SMTP 550).

Solução de problemas: Execute um log de protocolo SMTP ou um rastreamento de Monitor de Rede para ver o motivo pelo qual o servidor SMTP remoto rejeita a solicitação de protocolo.

Código numérico: 5.5.2


Causa possível: Isso se refere a um erro geral de protocolo quando protocolos SMTP estão fora de seqüência. Por exemplo, um erro de protocolo SMTP ocorre quando se tenta usar AUTH antes de EHLO. Em uma observação, isso ocorreu quando o sistema estava com uma condição de falta de disco.

Solução de problemas: Execute o log de protocolo SMTP ou um rastreamento do Monitor de Rede e verifique se há espaço em disco e memória virtual suficientes para que o SMTP opere.

Código numérico: 5.5.3


Causa possível: Excesso de destinatários na mensagem enviada.

Solução de problemas: O limite de destinatários é um limite configurável no servidor de recebimento. Para resolver esse problema, aumente o limite de destinatários ou divida a mensagem em várias mensagens para que se ajuste ao limite do servidor.

Observação: o limite padrão do destinatário em uma mensagem SMTP é 5.000. Para definir esse limite, iniciar o Exchange System Manager, clique no nó Configurações globais, clique com o botão direito do mouse em Entrega de mensagens e clique em Propriedades. Essa também pode ser uma configuração personalizada no Active Directory.

Código numérico: 5.6.3


Causas possíveis:
1. A mensagem contém mais de 250 anexos. Mais de 250 anexos geram o erro MAPI_E_TOO_BIG.
2. A mensagem foi enviada com um cabeçalho addr822 malformado.

Solução de problemas:
1. Reduza o número de anexos na mensagem e reenvie-a.
2. Corrija o cabeçalho. O erro é falso, já que indica que o NDR ocorre devido a cabeçalhos P2 com falha.

Código numérico: 5.7.0

Causa possível: Mailbox full


Código numérico: 5.7.1


Causas possíveis:
• Acesso geral negado, acesso ao remetente negado – o remetente da mensagem não tem os privilégios necessários para concluir a entrega.
• Você está tentando retransmitir sua mensagem por meio de outro servidor SMTP e ele não permite a retransmissão.
• O destinatário pode ter restrições de entrega de caixa de correio habilitadas. Por exemplo, uma restrição de entrega de caixa de correio do destinatário foi definida para receber de um grupo de distribuição apenas e emails que não sejam de membros serão rejeitados com este erro.
• No Exchange Server 2003, um grupo de distribuição pode ser configurado para restringir a entrega de mensagens de usuários não autenticados. Mensagens enviadas com uma sessão SMTP não autenticada serão rejeitadas.
Solução de problemas: Verifique os privilégios e atributos do sistema para o contato e tente enviar a mensagem novamente.

Além disso, certifique-se de que está executando o Exchange 2000 Service Pack 1 (SP1) ou posterior para outros problemas conhecidos em potencial.

segunda-feira, 6 de julho de 2009

PHP Inserir fotos automaticamente

<?php
                                $qtas_fotos = '12';
                                $colunas = '3';
                                $pasta = 'images/comfort/';
                                $nome_arquivo= 'foto';
                                $extensao = '.jpg';
                                $qtas_linhas = $qtas_fotos/$colunas;
                                list ($inteiro, $dizimo) = explode (".", $qtas_linhas);
                                if ($dizimo) $qtas_linhas = $inteiro+1;
                              
                                echo "<table>";
                              
                                $j=1;
                                for ($x=1; $x<=$qtas_linhas; $x++) {
                                echo "<tr>";
                                for ($i=1;$i<=$colunas;$i++) {
                               
                                if ($j>$qtas_fotos) break; // TEMOS APENAS X FOTOS...
                                echo "
                                <td align='center' style='padding:1px;'>
                                <img src='$pasta$nome_arquivo$j$extensao' />
                                </td>\n
                                ";
                              
                                $j++;
                                }
                                echo "</tr>\n";
                              
                                }
                                echo "</table>";
?>