Thunderbird: os filtros não correspondem aos links

3

Eu uso filtros para remover mensagens indesejáveis (além do filtro de spam integrado).

Meu problema é que, desde anos (assim com cada lançamento do Thunderbird que eu já tive, mesmo o atual que está atualizado) ele não consegue filtrar links . Por exemplo, eu quero excluir todas as mensagens que contêm um link para link
Eu nunca consegui remover esses emails. Eu uso um filtro no corpo, verificando se ele contém emv3, mas isso nunca combina. Esses e-mails estão no formato HTML e os links são exibidos como um texto como "Visite nosso site".

Se eu escrever um email em HTML com um link, meu filtro funcionará.
Quando isso é um spam, isso nunca funciona.

Quando salvo o e-mail em um arquivo de texto, abro-o com o bloco de notas e vejo vários link

Alguma idéia de por que isso não funciona e como posso fazer?

    
por Gregory MOUSSAT 21.03.2012 / 18:51

3 respostas

4

Você pode usar o addon thunderbird FiltaQuilla .

Depois de instalar a extensão, você pode ativar todas as ações de filtro e termos de pesquisa necessários nas opções complementares (Thunderbird → Ferramentas → Complementos → FiltaQuilla → Opções). Estas são as opções fornecidas pela versão atual até o momento desta publicação.

Você definitivamente vai querer dar uma olhada na documentação do site dos autores para explorar todas as possibilidades e descobrir como para usar filtros regexp e todas as outras coisas boas.

Aqui está um exemplo típico de um padrão de endereço de e-mail (muito simples), que aceita apenas endereços que contenham pelo menos um ponto na frente do @. Você também pode ver algumas exceções a essas regras para remetentes encontrados no catálogo de endereços local e para endereços legados que não obedecem ao padrão secreto.

ÉumincríveladdonThunderbird.Esperoqueissoajude.

Seissonãocorresponderàssuasnecessidades,vocêpodeusaro SpamPal com o Plugin RegExFilter e detectar mensagens indesejadas. Para que a detecção de lixo eletrônico seja eficaz, você deve "treiná-lo".

Controle de lixo eletrônico

Filtros de mensagens

    
por 27.06.2012 / 09:30
1

Não funciona porque os filtros (e a versão atual do FiltaQuilla) só veem a representação de texto do código HTML durante a filtragem, se houver algum, porque para algumas pastas (pastas IMAP off-line) eles só veem os cabeçalhos da mensagem. / p>

Eu realmente não sei por que os filtros padrão no Thunderbird não permitem que os usuários filtrem o corpo bruto, eu acho que é porque ninguém o solicitou. Além disso, eu não sei por que plugins sofisticados como o FiltaQuilla não fornecem acesso direto ao corpo pronto para uso. Mais uma vez, talvez seja falta de interesse do usuário.

Então, posso dizer como fazer isso com o FiltaQuilla, mas você não vai gostar. É confuso, lento, lento, frágil e nada fácil de usar. Mas é possível. Funciona no meu computador. Deve funcionar no seu. A menos, é claro, que o Thunderbird trave e corrompa sua caixa de correio (como aconteceu uma vez aqui enquanto eu estava testando isso, nunca funcionou novamente nessa pasta). Surpreendentemente, funcionou perfeitamente com as minhas pastas IMAP. Então pense nisso como um experimento, não uma solução final.

Se você já possui o FiltaQuilla, ative o Javascript na guia Search Term na janela Preferences (reinicie o Thunderbird).

Agora, crie um filtro como de costume, na lista de pesquisa que busca JavaScript. Na próxima lista, escolha as partidas. Haverá um ícone de edição, selecione-o e insira o seguinte código (Nota: este código é baseado em alguns testes incluídos com o código-fonte do Thunderbird):

let mylist = ["emv3.com", "_blank", "tumblr.com", "xxxx"];
var matchfound = -1;
const MAX_MESSAGE_LENGTH = 10240;
let msgFolder = message.folder;
let msgUri = msgFolder.getUriForMsg(message);
let messenger = Cc["@mozilla.org/messenger;1"].createInstance(Ci.nsIMessenger);
let streamListener = Cc["@mozilla.org/network/sync-stream-listener;1"].createInstance(Ci.nsISyncStreamListener);
messenger.messageServiceFromURI(msgUri).streamMessage(msgUri, streamListener, null, null, false, "", false);
let sis = Cc["@mozilla.org/scriptableinputstream;1"].createInstance(Ci.nsIScriptableInputStream);
sis.init(streamListener.inputStream);
let rawbody = sis.read(MAX_MESSAGE_LENGTH);
for (let listidx = 0; listidx < mylist.length; listidx++) {
  //Components.utils.reportError("Checking " + mylist[listidx] + " in " + message.subject); 
  matchfound = rawbody.search(mylist[listidx]);
  if (matchfound>0) {
    Components.utils.reportError("Matched " + matchfound + " " + mylist[listidx] + " in " + message.subject); 
    break;
  }
}
(matchfound>0)

Você vê a linha "let mylist="? Essa é uma matriz de JavaScript. Você pode preenchê-lo com strings de texto para pesquisar. Você vê o MAX_MESSAGE_LENGTH = 10240? isso é o quão longe do início da mensagem este código irá procurar. Geralmente 10K é suficiente como mensagem de spam maior que inclui imagens ou outros anexos.

Feche a janela de edição com OK.

Defina suas ações (mover, excluir, sinalizar, etc.).

Tente executá-lo.

Se você ativou o console de depuração no Thunderbird, poderá ver uma lista de correspondências (este não é o log de filtro normal).

Uma nota final, esse script não decodifica a codificação Base64 (ou qualquer outra). Uma mensagem codificada em Base64 não corresponderá a nada.

Outra observação, enquanto navega brevemente no código-fonte do Thunderbird, acho que o filtro Bayesiano tem acesso ao corpo da mensagem bruta, no entanto, não sei se isso significa alguma coisa para você.

Então, para uma resposta melhor, suas opções são:

  • Escreva você mesmo um plugin.
  • Peça a um autor de plug-in para adicionar suporte para acesso a corpo não processado (o autor do FiltaQuilla parece ser uma pessoa legal, você pode perguntar nos fóruns do FiltaQuilla).
por 04.07.2012 / 08:47
0

Todos os e-mails recebidos em formato HTML conterão a especificação Content-type: text/html no corpo real da mensagem.

Portanto, altere seu filtro para o seguinte:

"Content-Type" "contains" "text/html"

Isso agora permitirá que você filtre os e-mails enviados em HTML.

Para filtrar mensagens para uma conta imap, a conta precisa ser configurada para uso off-line.

Para configurar as contas para uso off-line:

  • Vá para Configurações da conta > Off-line e amp; espaço em disco.
  • Marque Disponibilizar as mensagens da minha caixa de entrada quando eu estiver trabalhando offline.
  • Em seguida, selecione as pastas ad hoc depois de clicar em Selecionar pastas para uso offline.

Espero que isso ajude.

    
por 27.06.2012 / 09:16