Ticket #479 (closed defeito: fixed)

Opened 5 years ago

Last modified 5 years ago

Campo email com underline ("_") não é aceito

Reported by: niltonneto Owned by: rodsouza
Priority: grave Milestone: Expresso 2.0.2
Component: ExpressoAdmin Version: branch 2.0
Severity: Keywords: e-mail mail
Cc: valmir.sena@… WorkGroup:

Description

Ao tentar criar/editar um usuário com email que contém underline (ex. fulano@…), aparece um alerta avisando que o campo E-MAIL não é válido.

Change History

comment:1 Changed 5 years ago by rodsouza

Essa validação de endereços de e-mail é realmente necesária?

Observar a utilização do ExpressoLivre? em redes locais onde muitas vezes o domínio não contempla as RFC's que fazem a normatização de endereços de e-mail.

Eu tenho a intenção de realizar apenas uma verificação simples, ou seja, se o campo não está vazio e se exite a caracter coringa '@' precedido de dois ou três caracteres válidos assim como para o domínio.

comment:2 Changed 5 years ago by wmerlotto

  • Milestone set to Expresso 2.0

Este ticket ainda procede? Foi combinado algo?

comment:3 Changed 5 years ago by eduardoalex

Vocês acham que é realmente para aceitar "_" no domínio? Na minha opinião não é necessário.

comment:4 follow-up: ↓ 5 Changed 5 years ago by niltonneto

Sugiro discutirmos e fecharmos esse assunto para próxima versão.

comment:5 in reply to: ↑ 4 ; follow-up: ↓ 6 Changed 5 years ago by wmerlotto

Replying to niltonneto:

Sugiro discutirmos e fecharmos esse assunto para próxima versão.

Se não é um problema grave para o funcionamento do Expresso, podemos discutir este assunto, com mais calma, na próxima versão..

comment:6 in reply to: ↑ 5 Changed 5 years ago by eduardoalex

Replying to wmerlotto:

Replying to niltonneto:

Sugiro discutirmos e fecharmos esse assunto para próxima versão.

Se não é um problema grave para o funcionamento do Expresso, podemos discutir este assunto, com mais calma, na próxima versão..

Concordo... vamos focar em erros graves para liberar esta versão e deixamos esses assuntos para a próxima.

comment:7 Changed 5 years ago by rodsouza

A verificação é realizada apenas via JavaScript?, em "expressoAdmin1_2/js/jscode/users.js".

Nos ambientes de desenvolvimento da minha máquina eu sempre altero a linha 63 que é:

var reEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

suprimindo o final da expressão regular, da seguinte forma:

var reEmail = /^([a-zA-Z0-9_\.\-])+\@([a-zA-Z0-9_\.\-])+$/;

Com isso não tenho problemas na criação de usuário.

comment:8 Changed 5 years ago by niltonneto

  • Milestone changed from Expresso 2.0 to Expresso 2.1

comment:9 Changed 5 years ago by rodsouza

A expressão regular citada acima foi alterada para:

var reEmail = /^([a-zA-Z0-9_\.\-])+\@([a-zA-Z0-9_\-])+(\.[a-zA-Z0-9_\-]{2})*$/;

Committed revision r1442.

comment:10 Changed 5 years ago by rodsouza

  • Status changed from new to closed
  • Resolution set to worksforme

comment:11 Changed 5 years ago by rodsouza

  • Status changed from closed to reopened
  • Resolution worksforme deleted

comment:12 Changed 5 years ago by rodsouza

  • Owner changed from alguem to rodsouza
  • Status changed from reopened to new

comment:13 Changed 5 years ago by rodsouza

  • Status changed from new to assigned

comment:14 Changed 5 years ago by rodsouza

  • Status changed from assigned to closed
  • Resolution set to fixed

Pela não aparição de problemas estou fechando o ticket.

comment:15 Changed 5 years ago by rodsouza

  • Cc valmir.sena@… added
  • Status changed from closed to reopened
  • Resolution fixed deleted
  • Milestone changed from Expresso 2.1 to Expresso 2.0.2

Pela expressão regular colocada, depois do primeiro "." depois do "@" todos os domínios ficam obrigados a ter somente dois caracteres.

Ficam inválidos:
valmir@…
valmir@…
valmir@…
valmir@…

Passam:
valmir@…
valmir@…
valmir@…

Vide: http://www.expressolivre.org/html/modules/newbb/viewtopic.php?post_id=7926&topic_id=1322&forum=5#forumpost7926

comment:16 Changed 5 years ago by rodsouza

  • Status changed from reopened to closed
  • Resolution set to fixed

A validação do endereço do e-mail foi alterada para:

 /^([a-zA-Z0-9_\-])+(\.[a-zA-Z0-9_\-]+)*\@([a-zA-Z0-9_\-])+(\.[a-zA-Z0-9_\-]+)*$/

Está baseada na consistência do endereço, ou seja, aceita os caracteres comuns e garante que não existirá "." (ponto) seguidos ou perdidos no começo ou no final do endereço.

Todos os endereços citados acima são válidos. Os endereços não válidos pela "RFC 2822 mailbox" também são validados.

comment:17 Changed 5 years ago by rodsouza

Committed revision r1501.

comment:18 Changed 5 years ago by wmerlotto

Rodrigo, não é melhor utilizar a expressão da RFC?

Esta última que vc colocou ainda aceita domínios inválidos, entre outros, finalizados com [0-9_\-].

comment:19 follow-up: ↓ 20 Changed 5 years ago by rodsouza

A RFC não permite endereços internos como é o caso de 'localhost' ou mesmo rede local como 'intraer'.

O fato é, presumisse que o administrador sabe qual é o endereço que ele deve utilizar.

Os caracteres ao fim do endereço não deixam de ser válidos.

comment:20 in reply to: ↑ 19 Changed 5 years ago by niltonneto

Replying to rodsouza:

A RFC não permite endereços internos como é o caso de 'localhost' ou mesmo rede local como 'intraer'.

O fato é, presumisse que o administrador sabe qual é o endereço que ele deve utilizar.

Os caracteres ao fim do endereço não deixam de ser válidos.

Rodrigo, mantemos nesse milestone e reclassificamos como crítico ou pode ser realocado para Expresso 2.1?

comment:21 Changed 5 years ago by rodsouza

  • Keywords e-mail mail added
  • Priority changed from média to grave

Devido a problemas com a criação de contas, mais especificamente com a formatação do endereço de e-mail, esta alteração deve estar presente no atual "Milestone" pois caso contrário não será possível utilizar endereços de e-mail como "user@…".

O comentário 15,  http://trac.expressolivre.org/ticket/479#comment:15, relata isso com maior detalhes.

comment:22 Changed 5 years ago by niltonneto

  • Version changed from trunk to branch 2.0

Corrigido em [1547] para o Branch 2.0

Note: See TracTickets for help on using tickets.