Which method to check if string index is queal to character.
jak
nospam at please.ty
Tue Dec 29 04:53:01 EST 2020
Il 29/12/2020 02:48, Bischoop ha scritto:
> On 2020-12-28, Mats Wichmann <mats at wichmann.us> wrote:
>> On 12/28/20 10:46 AM, Marco Sulla wrote:
>>> On Mon, 28 Dec 2020 at 17:37, Bischoop <Bischoop at vimart.net> wrote:
>>>>
>>>> I'd like to check if there's "@" in a string and wondering if any method
>>>> is better/safer than others. I was told on one occasion that I should
>>>> use is than ==, so how would be on this example.
>>>>
>>>> s = 'this at mail.is'
>>>
>>> You could do simply
>>>
>>> if "@" in s:
>>>
>>> but probably what you really want is a regular expression.
>>>
>>
>> Will add that Yes, you should always validate your inputs, but No, the
>> presence of an @ sign in a text string is not sufficient to know it's a
>> valid email address. Unfortunately validating that is hard.
>>
>
> Nah, by saying if is valid I meant exeactly if there's "@", I could add
> yet if endswith() but at this point @ is enough.
> Yes the only possible way for full validation would be just sending
> email and waiting for reply.
>
you could try this way:
# -----------
from dns import resolver as dns
emails=['john.doe at fakeserver.bah',
'john.doe at gmail.com']
for ue in emails:
try:
mxl = dns.resolve(ue.split('@')[1], 'MX')
except:
print(f'{ue}: bad mail server')
else:
if len(mxl) > 0:
print(f'{ue}: valid mail server')
# -----------
... so, having verified the sever, you should only worry about the name.
More information about the Python-list
mailing list