collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Algum email manager software?  (Lida 4514 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline brunus

  • Mini Robot
  • *
  • Mensagens: 332
Algum email manager software?
« em: 30 de Dezembro de 2015, 22:43 »
Alguem conhece ou usa algum software que possa gerir emails duma lista qualquer de modo a que elimine emails duplicados, os ordene por ordem alfabetica, e grave num ficheiro csv do modo que queiramos?

Algo que nao sejam sitios online que sao autenticos colectores de emails para spam, ou software do género ou com viroses?

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Algum email manager software?
« Responder #1 em: 31 de Dezembro de 2015, 01:29 »
Uma cena básica em TCL poderia ser assim 8) :

# Ler da linha de comando o nome de um ficheiro com os emails (1 email por linha).
foreach {input_filename} $argv break
# Abrir o ficheiro e carregar o conteúdo.
set fd  [open $input_filename r]
set text  [read $fd]
close $fd
# Deitar fora os espaços e tabs.
regsub -all -- {[ \t]+} $text {} text
# Pegar no texto do ficheiro e parti-lo em linhas, criando uma lista TCL de emails (linhas).
# Ordenar a lista TCL deitando fora os repetidos e ignorando a capitalização.

set emails  [lsort -unique -nocase [split $text \n]]
# Imprimir no ecran a lista de emails processada, eliminando linhas vazias, um email por linha.
puts [string trim [join $emails \n]]


Há um interpretador para Windows (~3MB) neste post, é só descomprimir para uma dir: http://lusorobotica.com/index.php?topic=8032.msg90559#msg90559
Em Linux o TCL já vem de origem, não é preciso instalar nada.
Mais dicas sobre TCL neste tópico: http://lusorobotica.com/index.php?topic=8032.0
« Última modificação: 31 de Dezembro de 2015, 08:28 por Njay »

Offline brunus

  • Mini Robot
  • *
  • Mensagens: 332
Re: Algum email manager software?
« Responder #2 em: 31 de Dezembro de 2015, 03:15 »
Nem sei que linguagem é essa!  ???
Como faço para correr o script? Em que tipo de ficheiro gravo e onde? Mas dúvido muito que essa meia-dúzia de linhas faça aquilo que procuro num programa... mas se for assim tão poderosa essa linguagem, posso ser a cobaia para tentar fazer um script mais poderoso e ficar partilhado para mais gente...mas duvido que consiga aprender essa linguagem em 2 ou 3 dias e consiga fazer o resto sozinho..  :(

Podias fazer um micro video screen pelo menos a ensinar a correr esse script?

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Algum email manager software?
« Responder #3 em: 31 de Dezembro de 2015, 08:32 »
Metes o código num ficheiro emailsfilter.tcl, a lista de emails que queres processar (1 por linha) num ficheiro emails.txt e depois fazes (numa linha de comando)

tclsh emailsfilter.tcl emails.txt > emails-processados.txt

O resultado fica num ficheiro emails-processados.txt .
Se descomprimires aquele zip com o interpretador de TCL para Windows, o tclsh(.exe) está dentro da directoria bin\ .

Como disse é uma cena básica, depende muito do que é exactamente a tua lista de emails de entrada.
« Última modificação: 31 de Dezembro de 2015, 12:42 por Njay »

Offline brunus

  • Mini Robot
  • *
  • Mensagens: 332
Re: Algum email manager software?
« Responder #4 em: 31 de Dezembro de 2015, 16:06 »
Ok Obrigado Njay, vou tentar então brincar um pouco com isso, mas eu de programação não pesco nada.. Em tempos motivaram-me para usar o python e andei uns tempos a tentar fazer algo muito concreto que precisava na altura, ou seja, a minha necessidade é de vez em quando, quando preciso de uma coisa especifica na altura, e estar a apreender novas linguagens só para fazer uma coisa especifica do momento, não dá, por isso é mais facil procurar alguem que ja tenha feito ou programas equivalentes que façam logo as coisas. Talvez seja a sua área ou o seu hobby actual, mas a programação não é a minha onda, mas posso tentar "criar" um script que faça mais ou menos aquilo que procuro, pois não consigo encontrar programas livres que o façam ou porque o que há, ou sao pagos ou porque são de origem duvidosa ou que possuem "segunda intençoes" por detrás..

Existe alguma comunidade portuguesa dedicada a esta linguagem (exepto a P@P pois aquilo tem muito que se lhe diga..)? Ou posso-te chatear com a feitura/afinação do script?

Só resumindo a minha necessidade não é muita, mas é o seguinte:

Tenho uma colecta de emails num ficheiro txt, os emails estao gravados no/nos ficheiros txt'.s de qualquer maneira, ou seja, os emails tanto podem estar gravados por linha, por série e separados por virgulas, ou  também separados por ponto e virgula, ou simplesmente no meio de textos/comentários (porque às vezes quando se copia um email, os serviços de emails associam campos de comentarios e de titulo ao endereço que costumam até estar dentro destes parentisis "<" ">" ...
A ideia do script é pegar num txt por editar (nao interesssa fazer input de varios txts pois é super facil copiar o texto dum dos ficheiros para um unico só e se não houver problemas de memoria para o programar, chega e basta usar apenas um txt como input)
1) o programa tem de achar/descubrir todos os emails contidos no txt input,
2) dos emails que encontrou, listá-los por ordem alfabetica
3) eliminar emails duplicados (e ter a possibilidade de poder-se escolher outros metodos de eliminaçao de emails, por exemplo dizer para eliminar emails que contenham o seguinte texto/dominio "*.gov" ou ".yahoo.com" por exemplo) (por mim nem era necessario uma interface grafica do programa, bastando que pudesse alterar/adicionar no script uma linha de comando e lá adicionar à mão as palavras chave para o processo de eliminação)
4) gravar um novo txt (ou varios txts) com os emails ordenados por diversas opçoes
  a) ou ordenar por linha
    b) ou ordenar em série mas separado por virgula, ou ponto e virgula, ou espaço ou outro caracter qualquer à escolha
    c) ou ordenar por conjuntos quantidades de emails por ficheiro txt "emails100.txt", "emails101_200.txt", "emails201_300.txt".. exemplo (isto porque ha servidores de emails ou serviços de newsletters que só permitem uploads de emails para x quantidades de uma só vez de cada vez)
« Última modificação: 31 de Dezembro de 2015, 16:10 por brunus »

Offline brunus

  • Mini Robot
  • *
  • Mensagens: 332
Re: Algum email manager software?
« Responder #5 em: 01 de Janeiro de 2016, 01:13 »
Metes o código num ficheiro emailsfilter.tcl, a lista de emails que queres processar (1 por linha) num ficheiro emails.txt e depois fazes (numa linha de comando)

tclsh emailsfilter.tcl emails.txt > emails-processados.txt

O resultado fica num ficheiro emails-processados.txt .
Se descomprimires aquele zip com o interpretador de TCL para Windows, o tclsh(.exe) está dentro da directoria bin\ .

Como disse é uma cena básica, depende muito do que é exactamente a tua lista de emails de entrada.

Ja ando a brincar com o tcl, mas é como dizes, ja tenho de ter o ficheiro de entrada limpinho e ordenado com cada email já colocado em cada linha... Quando tiver isso já tenho a maior parte do trabalho que pretendo e nem preciso do script, pois bastaria copiar a lista para o excell e usar o excell para ordenar por alfabeto e depois só ver as linhas onde ha emails repetidos e eliminar linhas (ja não era tão facil, mas era fazível)..
Mas o pior é mesmo criar um txt com os emails já por linha e o script é para ajudar nessa parte mais dificil e fazer entao essas coisas automaticamente o que à mão levaria muito tempo e trabalho.

Não sei se o tcl também trabalha com bibliotecas ou sub-rotinas, mas se tiver um txt com uma sopa de palavras, teria de arranjar maneira de o script ir à procura do caracter "@", assim identificaria onde existe um email...depois para "cortar" e copiar para outro txt, teria de haver uma outra função que conseguisse identificar o comprimento à esquerda e à direita do caracter "@" para isso teria de reconhecer o ultimo caracter que nao é usado no email, uma virgula, um ponto e virgula, um espaço, ou outro caracter especial que nao é usado ou permitido nos emails... o script teria de percorrer todo o espaço e todas as linhas do txt.
Depois teria de colectar os emails encontrados para um outro txt e entao colocá-lo em cada linha, por exemplo...

Só depois é que podia usar a tua script então para filtrar emails repetidos...

Encontrei foi este email extractor (mas para além de ser online, não me cheire se seja seguro usá-lo e os emails não estejam também a ser colectados para alguma conta para spam ou para algum brasileiro começar a vender pacotes de emails a empresas (pois farto-me de receber mails desses a pedir dinheiro por x contas email validas..), mas outro grande problema deste extractor é que tem um limite de texto input de apenas 50 mil caracteres...(contar caracteres para um script é facil, mas para uma pessoa nao é nada facil logo a partir dos 160  ;D))
https://tools.verifyemailaddress.io/Apps/Email_Extractor/

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Algum email manager software?
« Responder #6 em: 01 de Janeiro de 2016, 05:38 »
Com expressões regulares é fácil extrair tudo o que seja um email no meio de um texto qualquer:

# Agora extrair todos os emails que aparecerem no texto do ficheiro
set start_index  0
set emails  {}
while {[regexp -start $start_index -nocase -indices -- {[-_.a-z0-9]+@[-a-z0-9]+(\.[-a-z0-9]+)*} $text email_indices]}  {
    foreach {idx1 idx2} $email_indices break
    set start_index  [expr $idx2 + 1]
    lappend emails [string range $text $idx1 $idx2]
}

Offline brunus

  • Mini Robot
  • *
  • Mensagens: 332
Re: Algum email manager software?
« Responder #7 em: 05 de Janeiro de 2016, 23:48 »
ok obrigado, vou tentar no fds a ver se a coisa se compoem, durante a semana é-me complicado dedicar-me as estas coisas.