CENTRAL MSGS MKTOOLS NOVO MODELO lastMessageId 1. Tabela de Contatos Cnt_Contact armazena o numero da ultima mesangem no Imap cnt_contact lastMessageId 2. Login Variável Sessão contactLasMessageId Ao fazer login, pega o valor do lastMessageId e cria variável de sessão LastMessageId e guarda esse valor, para não ter que consultar base no sincronismo toda hora. 3. Sincronismo getMessageLastId (id contato) = cnt_contact (lastMessageId) = C 4. getImapMessageLastId (id caixa postal) = numero id ultima msg no imap = I 5. if ( I <= C ) não temos novas mensagens then exit else faço o sincronismo 6. array ids novas mensagens monto o array com os ids das novas mensagens sendo ( c+1, c+2, c+3, .... até i ) temos o array sem nem ter lido todo o imap. 7. laço de c+1 até i if (checkDnsRR (domínio da msg)) = false then setMessageAsSpam move a mensagem para a caixa de spam do imap exit else if (returnPath =/ domínio do from) = true then setMessageAsSpam move a mensagem para a caixa de spam do imap exit else if email_from =/ email_reply_to then setMessageAsSpam move a mensagem para a caixa de spam do imap exit else if email_from_dominio tem número then setMessageAsSpam move a mensagem para a caixa de spam do imap exit else abre conexão com o banco do $client pega o domínio do email from = from_domain identifica o id_contact que tem esse domínio if whoIs (id_contact) < 0 o id_contact é uma org blacklisted then setMessageAsSpam move a mensagem para a caixa de spam do imap exit else pega o email do from = from_email identifica o id_contact que tem esse email if whoIs (id_contact) < 0 o id_contact é um contato blacklisted then setMessageAsSpam move a mensagem para a caixa de spam do imap exit