Verificar se o endereço de email é inexistente

Aqui é o lugar para bater papo e trocar idéias sobre os mais variados assuntos

Moderador: Moderadores

Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Verificar se o endereço de email é inexistente

Mensagem por Pablo César »

Nem tanto tempo atrás, ter email era uma excepção. Agora para fazer um cadastro, claro com prévia autorização, demanda ter um campo para email do cliente. A questão seria muito bom se pudéssemos verificar se o endereço de email é verdadeiro, isto é, se existe.

No ato de digitação do campo de endereço de email, daria para fazer algumas restrinções tendo em conta:

1. A primeira parte de um endereço de e-mail até caracter anterior ao "@" (arroba, sendo este o único caracter para separar o nome de usuário e nome do host.) é o nome de usuário e deve conter apenas caracteres ASCII podendo até ser utilizados os seguintes caracteres # $% & '* + - / =? ^ _ `(|) ~. No entanto, o nome de usuário com estes caracteres não são de facil identificação, portanto é destimulado a sua utilização. O comprimento do nome de usuário não deve ser superior a 64 caracteres e não é caso sensitivo, mas geralmente é escrito em minúsculas. Exemplo: xxxx@dominio.com.br

2. A segunda parte do email (próximo caracter após o caracter "@" arroba até o caracter anterior o caracter "." ponto onde consta a extensão do dominio), é o nome do host o qual possibilita uma certa restrinção de caracters. Os caracteres alfa-numéricos (abc...xyz e 012...789) e apenas o hífen são aceitos. Exemplo: xxxx@dominio.com.br

3. A Terceira parte é o dominio extensão (categoria) que são três caracteres como sufixo que identifica a organização que opera os servidores. E não sendo servidor dos Estados Unidos da América, possuirá mais uma sigla de dois dígitos, indicando o país. Por exemplo: .com, .org etc... xxxx@dominio.com.br. O tamanho máximo para o dominio nacional é de 26 caracteres e internacional é de 63 caracteres e no mínimo de dois caracteres (incluindo a categoria).

Outras régras que referenciam-se pela sequência de caracteres como:
  • Sempre a presença de apenas um único "@" (arroba ).
    A presença de ao menos um "." (ponto).
    Não deve conter espaço algum, nem "ç" e nem acentos algum como "á, é, ó..."
    A sequência mais utilizada de "hotmeil.com"
    A sequência dos caracteres ".@", "@." ou ".."
    A utilização do ultimo ponto como na sequência ".com.br."
    A utilização dos caracteres "/", "[", "]", "(" ou ")"
Ainda pode ser testado a existência do dominio. Mas todas esta precauções ainda são plausíveis de erros ou da inexistência do endereço de email fornecido pelo cliente. As vezes eles erram mesmo ou até mesmo mais tarde ficam como inativos e posteriormente cancelamento do endereço fornecido. Pelo que eu pesquisei na internet, parece que não há solução precisa para esta questão a não ser, quando é aplicado o seguinte procedimento:

1. Enviar um ao endereço fornecido
2. No corpo desse email disponibilizar um link para ele confirmar o cadastro.
3. Quando o cliente clicar no link o email passará a ser verdadeiro num campo flag do cadastro (por exemplo) que irá se acionado por algum aplicativo para confirmação de cadastro.

Parece não haver outra solução, de outra maneira os spamers iriam fazer a festa. No entanto ví esta página, que não possui mais acesso: http://www.sharewareconnection.com/down ... recon.html e que fala que esse aplicativo chamado setup_jcelv3.0.exe o qual diz conectar-se com o servidor de email destinatario, pergunta se o email existe e após obter resposta salva-la, interrompe a conexão com o servidor sem enviar a mensagem. Apesar de ter sido um SHAREWARE, parece ter saído da internet para download.

Pergunto: alguém conhece outra saída do que a que apresentei ? Será que vale a pena fazer esta checagem ?
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Verificar se o endereço de email é inexistente

Mensagem por sygecom »

Eu uso a função abaixo em xHarbour. Você pode compilar essa função e usar ela no CLIPPER chamando o EXE e tratando o retorno sei lah !!!

Código: Selecionar todos

****************************
Function EMIAL_VALIDO(cmail)
****************************
Local oRegEx, bVal
TRY
   oRegEx := Createobject("VBScript.RegExp")
CATCH error
  RETURN .T.
END
oRegEx:Pattern :="^[\w-\.]{1,}\@([\da-zA-Z-_]{1,}\.){1,}[\da-zA-Z-_]{2,3}$"
cmail := ALLTRIM(cmail)
bVal := oRegEx:Test(cMail)
Release oRegEx
Return bVal
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Verificar se o endereço de email é inexistente

Mensagem por Pablo César »

Ahhh sim obrigado Leonardo, utilizando um aplicativo mesmo que seja em xHarbour pode ser feito uma ponto através de um arquivo intermediário, criando um arquivo de retorno por exemplo. Esse exemplo que você posto, apenas verifica se o email contém algum caracter não permitido na sua composição. Mas a grande questão não é essa, eu gostaria de saber se existe algum aplicativo que verifica se o endereço de email é EXISTENTE ou não. Na sua função eu poderia colocar xxxx@yyyy.com.br e o email passar a ser válido.

O link que passei, contsava um aplicativo, mas talvez não esteja mais disponível por questões de segurança (os que criam os spams fariam a festa com isso) e eu apenas gostaria de validar o email.

Obs.: Puxa Leonardo, acho que você não leu por inteiro a minha mensagem anterior. Pois me tomei o trabalho de exemplificar quais seriam os cuidados, inclusive com detalhes de como é composto um endereço de email. Acho que você leu por cima, né ? hihihihi
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Verificar se o endereço de email é inexistente

Mensagem por sygecom »

Vc esta com razão, dei uma lida por cima e sai rasgando....desculpa.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

podendo até ser utilizados os seguintes caracteres # $% & '* + - / =? ^ _ `(|) ~
Verifique com cuidado se esses caracteres realmente podem ser utilizados. Acho que alguns desses não são permitidos. O ideal é pesquisar pelo RFC (Requested File Comment) correspondente. Não sei qual é o número.
3. A Terceira parte é o dominio extensão que são três caracters como sufixo que identifica a organização que opera os servidores.
Os sufixos .TV e .INFO já furam essa regra.

Quanto ao teste, acho que é responsabilidade do usuário informar um eMail válido. Só checo o nome quanto à coerência. Não testo a existência. Nem testaria, mesmo se me pedissem.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Verificar se o endereço de email é inexistente

Mensagem por Pablo César »

No problem Leonardo ! Eu acho que também cometí uma pequena pricipitação no tópico do RDD do Sandro. Isso acontece.
Maligno escreveu:Os sufixos .TV e .INFO já furam essa regra.
Tens razão ! Bem lembrado, mas nada que ainda não possa ser incluído na lista de prefixos.

Quanto a verificação, também estou achando que essa verificação de existência, venha a demandar algum tempo e mão de obra que venha a trazer maiores benefícios. Pois digamos que mesmo que seja possível de checar, iria também haver a possibilidade do email retornar quando as caixas postais estão cheias. Pensando bem não vejo tanto retorno realizado tal proeza.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Sem falar que é o tipo de coisa que ninguém vai valorizar. E mais: como requer acesso à Internet, essa checagem imporia uma lentidão que os usuários não apreciariam nem um pouco. E se fizer, e se lembrar de incluir uma configuração para desligar essa característica, sou capaz de apostar que ela ficará desligada na maior parte do tempo.

É diferente da pesquisa de CEP pelo site dos Correios. Há, neste caso, um ganho para o usuário. Dados serão preenchidos automaticamente. Logo, ele se disporá a aguardar um pouco. Um pouco! :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Verificar se o endereço de email é inexistente

Mensagem por Pablo César »

Falando de categorias de dominios ou DPNs (como é chamado no site de REGISTRO.BR), também daria para fazer um cadastro dessas siglas e que disponibilizo aqui algumas para referência (ver em anexo).

Como foi dito, seria mais conveniente não permitir a digitação de caracteres não permitidos e este exemplo que postei algum tempo possibilita a edição normal para EMails e ainda permite que possamos colar e copiar da área de transferência (ver código fonte desta mensagem):

viewtopic.php?f=1&t=5525&p=23349#p23349
Anexos
DPNS.zip
(1.83 KiB) Baixado 164 vezes
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder