Re: FW: Re: type for storing emails?
Steve Midgley <[email protected]> Tue, 12 Nov 2019 07:50:35 -0800
| Newsgroups | gmane.comp.db.postgresql.sql |
|---|---|
| Message-ID | <CAJexoSK2164CXFF_82u=OufPTh0Hk2F_YLSKE6_4hq4-TN2e-A@mail.gmail.com> |
--0000000000003be6030597283643 Content-Type: multipart/alternative; boundary="0000000000003be6000597283642" --0000000000003be6000597283642 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Nov 12, 2019 at 7:21 AM Andreas Joseph Krogh <[email protected]> wrote: > P=C3=A5 tirsdag 12. november 2019 kl. 16:07:47, skrev stan <[email protected]= om>: > > [...] > For the moment, I am just going to verify that what is entered is a valid > email format. Verifying that the email exists, may come later. > > Thanks for making me think about this, though. > > > > Note that it's only possible to verify that the email-address is *correct= ly > structured and a syntactically correct*. There is no way to verify that > an email-address actually exists, ie. that a recipient will receive email= s > sent to it. > Not to be pedantic but in the data model, you could have a couple of verification data fields (e.g. verification_code; email_verified), and actually send an email and record if the user comes back with the correct verification code. It's obviously not something that can be handled solely via specs or database, but a data model can accommodate actual email verification (as I know you know, but thought I should make clear for future readers of the archives). --0000000000003be6000597283642 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">= <div dir=3D"ltr" class=3D"gmail_attr">On Tue, Nov 12, 2019 at 7:21 AM Andre= as Joseph Krogh <<a href=3D"mailto:[email protected]">[email protected]= m</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin= :0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"= ><div>P=C3=A5 tirsdag 12. november 2019 kl. 16:07:47, skrev stan <<a hre= f=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a>>:</di= v> <blockquote style=3D"border-left:1px solid rgb(204,204,204);margin:0pt 0pt = 0pt 0.8ex;padding-left:1ex"> <div style=3D"display:inline;font-family:monospace;font-size:12px">[...]<br= > For the moment, I am just going to verify that what is entered is a valid<b= r> email format. Verifying that the email exists, may come later.<br> <br> Thanks for making me think about this, though.</div> </blockquote> <div>=C2=A0</div> <div>=C2=A0</div> <div>Note that it's only possible to verify=C2=A0that the email-address= is=C2=A0<i>correctly structured and a syntactically correct</i>. There is = no way to verify that an email-address actually exists, ie. that a recipien= t will receive emails sent to it.</div></blockquote><div><br></div><div>Not= to be pedantic but in the data model, you could have a couple of verificat= ion data fields (e.g. verification_code; email_verified), and actually send= an email and record if the user comes back with the correct verification c= ode. It's obviously not something that can be handled solely via specs = or database, but a data model can accommodate actual email verification (as= I know you know, but thought I should make clear for future readers of the= archives).<br></div><div>=C2=A0</div></div></div> --0000000000003be6000597283642-- --0000000000003be6030597283643 Content-Type: image/png; name=noname Content-Disposition: inline; filename=noname Content-Transfer-Encoding: base64 Content-ID: <16e604710f3c204bfcc1> X-Attachment-Id: 16e604710f3c204bfcc1 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 --0000000000003be6030597283643--