1

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.

Diskdrive
  • 18,107
  • 27
  • 101
  • 167

1 Answers1

1
  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.

Gryphius
  • 75,626
  • 6
  • 48
  • 54
  • okay, then what about the undelivered email you get when you send to an invalid account. Is there some way for the SMTPClient to tell my code base that it's received this undelivered email or are they seperate events? – Diskdrive Sep 14 '11 at 23:21
  • if your code connects to the target server directly, you get a "550 User unknown" error immediately for servers which are configured to reject mails for unknown users. unfortunately a) many servers are not configured correctly and accept the message and then bounce it later b) smtp client libraries usually don't connect to the target server directly but hand over the message to a local mail server which does all the queuing and routing. in both cases you get the error back as bounce email message to the account you used in your envelope from address and have to retreive it from there/parse it. – Gryphius Sep 15 '11 at 05:51
  • this is a separate event and bounce message parsing is a PITA. the best thing to do is try to verify the email accounts beforehand (when they try to sign up), send them a activation link of some sort. the bounce handling is better done manually (assuming you don't have gazillions of bounces every day) – Gryphius Sep 15 '11 at 05:56