Search code examples
emailemail-validationsmtpclientemail-verification

Once I send an email, how much information can I get about its progress?


I'm designing a capability to send emails out for my app.

I was wondering once I send out an email, is there anyway to find out whether

  1. the email address exists and is real
  2. the email was received
  3. if not received, what the problem was? (mailbox full, email address invalid etc.)
  4. the email was read (probably asking too much but would be good)

Do I get any feedback at all?

I'm using the SMTPClient in the .NET framework to do this.


Solution

    1. no. You can find out if the target server accepts the address. but you can not find out if the account really exists. even if the server accepts the address it could be bounced later.

    2. no. if you don't get a bounce, you have to assume it was delivered. there is no guarantee. it could have landed in a spam box etc.

    3. if a mail is not received you either get a bounce message (or depending on how you send the message you get the error directly in the smtp transaction while sending it to the target server).

    4. no. you can request a read-receipt or do fancy stuff like embedding links to external tracker images. but all this stuff is usually blocked by default.