You should code it yourself in PowerBuilder so you can easily update it. The rules are:
General layout:
local-part@domain
Local Part:
Can be up to 64 characters.
Allowed: letters, numbers, underscores, periods, and dashes.
First and last must be letter or number.
Some mail servers may allow other special characters.
Domain:
Can be up to 255 characters.
Allowed: letters, numbers, and dashes.
First and last must be letter or number.
There can only be one dot.
Part before the dot must be at least one character.
Part after the dot must be at least two characters.
If you download a recent version of PFC, look for the of_iswellformedemailaddress() method in pfc_n_cst_string in pfcapsrv.pbl. That works well for making sure the email is syntactically correct. You can cut and paste the code if you aren't using PFC. As for determining if an email is valid, that's much more difficult. You won't know if it's valid or not until you get some kind of return code from SMTP/IMAP. For example, you wouldn't know up front if daniel.mullings@appeon.com is good or not, it's not by the way. :-)