Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
email address input
#4
Make your own re expression! State explicitly what you allow, or state explicitly what you disallow. Here I've gone with disallow.

Email format is governed by several RFC documents like RFC 5322. What exactly is disallowed in the email address is not quite clear to me. Exclude all the ugly bits like this:

This, ^, at the beginning in [ ] means NOT, so NOT any of these following symbols. If you want to exclude the letter a, put that in the square brackets too!

[^=+!#$%&~ ?,<>;:\/()[\]{}]
Put anything you want excluded in the [ ] but after the ^. If the character is a special character in re, you will need to escape it, like ] must be escaped: \] or re will complain.

Thus e has the format (if no banned stuff)@(if no banned stuff) then the email is good.

import re

email = input('Enter what you think is a valid email ... ')
email1 = '[email protected]'
email2 = 'King(Charles)[email protected]'  # no match
email3 = 'King-[Charles][email protected]' # no match
email4 = 'King/Charles/[email protected]' # no match
email5 = 'King\Charles\[email protected]' # no match
email6 = 'King_Charles_III@royal?.email.com.co.uk' # no match

"""
Maybe some of the things in e are not officially banned, but banned by me here!
As a whole, the email address cannot be more that 254 characters long I read.
"""

e = re.compile(r'([^=+!#$%&~ ?,<>;:\/()[\]{}*])@([^=+!#$%&~ ?,<>;:\/()[\]{}*]\Z)')
if not e.match(email):
    print(f'This email: {email} contains banned characters, try again ... ')
Example:

Output:
email = input('Enter what you think is a valid email ... ') Enter what you think is a valid email ... King*[email protected] if not e.match(email): print(f'This email: {email} is the wrong format, try again ... ') This email: King*[email protected] is the wrong format, try again ...
Verifying the email is a different kettle of fish! I made some Python to send emails to a list of customers for the girlfriend.

I've been trying with openssl s_client to verify the list of emails, but I have not yet succeeded! At the moment, all I can do is send an email and look for "Email not sent", then take that email off the list

If you have a clue about that, please let me know!

But if the email is just for login, it does not actually need to really exist!
Reply


Messages In This Thread
email address input - by jacksfrustration - Jun-26-2024, 05:03 AM
RE: email address input - by rodiongork - Jun-26-2024, 05:13 AM
RE: email address input - by jacksfrustration - Jun-26-2024, 05:17 AM
RE: email address input - by Pedroski55 - Jun-26-2024, 07:12 AM
RE: email address input - by menator01 - Jun-26-2024, 08:24 AM
RE: email address input - by DeaD_EyE - Jun-26-2024, 08:35 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  problem in entering address of a file in input akbarza 0 788 Oct-18-2023, 08:16 AM
Last Post: akbarza
  Extracing unique email address from a folder of emails jehoshua 6 3,060 Oct-14-2020, 12:43 AM
Last Post: jehoshua
  Grabing email from a class with input from name Nickd12 2 1,927 Oct-13-2020, 06:22 PM
Last Post: Nickd12
  Slicing and printing two halfs of an email address (Udemy) Drone4four 5 3,010 Aug-26-2019, 09:01 AM
Last Post: wavic
  An email with inline jpg cannot be read by all email clients fpiraneo 4 4,247 Feb-25-2018, 07:17 PM
Last Post: fpiraneo
  Email - Send email using Windows Live Mail cyberzen 2 6,086 Apr-13-2017, 03:14 AM
Last Post: cyberzen

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020