Oh, so it's a database, that makes more sense. Which database? Does it support EXISTS?
Personally, I've never had a use for EXISTS, but it may be better in the stated situation.
This way doesn't use EXISTS; it's probably better if you have a number of emails to test and insert:
INSERT INTO SomeTable (SomeText)
FROM (SELECT @email email) A
LEFT OUTER JOIN SomeTable B
WHERE B.SomeText IS NULL
I would definitely avoid an IF/ELSE; just too untidy.
If you are using SQL Server, you may also be interested in the MERGE statement