The JavaEnterpriseEditionFaq points to a discussion about DSN; be aware that DSN for various reasons is not generally a reliable way to know whether someone has received or read an email.
An approach like Aspirin takes at least lets you know if the email couldn't be delivered due to to an incorrect email address or some other fundamental problem. Your initial problem statement ("how do i know whether the Email is Successfully Sent or Not?") sounded like that's what you want to accomplish.
Yes, I understand what you're asking. That's why I recommended checking out Aspirin, which provides a means of getting notified if there is a problem with the email-sending part. Of course, being an SMTP server, it won't know anything about other issues (having to do with the DB, for example). You'd have to address those in your code.