He escrito una función para agregar correos electrónicos a la base del boletín. Hasta que agregué la validez de verificación del correo electrónico enviado, funcionaba sin problemas. Ahora, cada vez recibo un "correo electrónico incorrecto" a cambio. ¿Alguien puede ver algún error aquí? La expresión regular utilizada es:Verificación de la validez del correo electrónico en django/python
\b[\w\.-][email protected][\w\.-]+\.\w{2,4}\b
y es 100% válida (http://gskinner.com/RegExr/), pero puede estar usando mal, o puede haber algún error lógico:
def newsletter_add(request):
if request.method == "POST":
try:
e = NewsletterEmails.objects.get(email = request.POST['email'])
message = _(u"Email is already added.")
type = "error"
except NewsletterEmails.DoesNotExist:
if validateEmail(request.POST['email']):
try:
e = NewsletterEmails(email = request.POST['email'])
except DoesNotExist:
pass
message = _(u"Email added.")
type = "success"
e.save()
else:
message = _(u"Wrong email")
type = "error"
import re
def validateEmail(email):
if len(email) > 6:
if re.match('\b[\w\.-][email protected][\w\.-]+\.\w{2,4}\b', email) != None:
return 1
return 0
100% valido? No coincidirá con 'foo + bar @ example.com', no coincidirá con' foo @ museum.com', y toneladas más. – Kos
100% válido? Tu expresión regular coincidirá con 'a .. @ .............. a'. – Zenadix