collapse

* Links de Robótica

* Posts Recentes

Compra colectiva seeedstudio por jm_araujo
[12 de Dezembro de 2017, 23:55]


Robot Wars International Special por beirao
[12 de Dezembro de 2017, 22:52]


Docker por nnr
[12 de Dezembro de 2017, 13:41]


Comprar transformador de +/-12Volts por jm_araujo
[12 de Dezembro de 2017, 10:16]


Embedded World 2018 por KammutierSpule
[12 de Dezembro de 2017, 09:05]


Esquema Fonte Bancada por almamater
[12 de Dezembro de 2017, 08:13]


Meu projecto - Arm Robot com arduino por Diogo Bento
[11 de Dezembro de 2017, 23:18]


Ajuda Projecto IR / RF por dio123
[09 de Dezembro de 2017, 10:53]


Drivers Arduino UNO! por dio123
[09 de Dezembro de 2017, 10:46]


Problema em converter codigo C arduino para C + Pigpio na raspberry por vasco
[08 de Dezembro de 2017, 19:22]

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

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

Offline brunus

  • Mini Robot
  • *
  • Mensagens: 164
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.150
    • 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: 164
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.150
    • 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: 164
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: 164
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.150
    • 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: 164
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.