You can connect to the server, and issue a VRFY command. Very few servers support this command, but it's just for that. If the server responds with a 2.0.0 DSN, the user exists.
VRFY user
You can issue a RCPT, and see if the email is rejected.
MAIL FROM:<>
RCPT TO:<user@domain>
If the user does not exist, you will have a DSN 5.1.1. However, just because the email is not rejected does not mean that the user exists. Some server will silently discard requests like this to prevent enumeration of their users. Other servers can not verify the user, and must accept the message independently.