This is precisely the reason why you let the user bypass your check with a confirmation. It's likely that most of your users who enter something without a period made a mistake. If someone is using an address like 'john@dk', I think they'd expect a message saying 'your email is invalid'; and seeing a message that just says, 'are you sure?' with a 'yes' option would be perfectly acceptable.
Edit: sorry for the echo, bigiain - I saw your post right after adding the comment.
Edit: sorry for the echo, bigiain - I saw your post right after adding the comment.