A question that I hear frequently from my clients, and in the Salesforce Answers Community, is (1) “how do I know if my email got through” and (2) “did my client open my email?” There are a few places to look on the Lead and Contact record to find this information as well as two pre-canned reports.
First, let’s look at the question about email deliverability – “how do I know if my email got through?” If you navigate to the Contacts tab (or Leads tab), and you scroll down to the very bottom of the page you’ll see a Reports section. Here you’ll find a “Bounce” report, which when you run it, will tell you if Salesforce experienced any deliverability issues.
For Contacts :
If you run the report and see no results, ensure that you’re filtering to see “All Leads” (or “All Contacts” depending on the tab). Below are some sample deliverability reasons that you might encounter. For a complete list of bounce reasons, see the bottom of this post.
Another good idea is to check to see if Salesforce is setup to track these errors by going to Setup > Administration Setup > Email Administration > and then configure the “Bounce Administration” section displayed to the right of the page.
Once activated, and you’re email does bounce, you’ll see a message by the email field on the record.
Our second question was “did my client open my email?” To answer this the User must send an HTML email from Salesforce (or an email that leverages an HTML letterhead). Why is this so important? Let’s take a second and talk about the mechanics on how Salesforce knows if the email was opened. Using the example of an email that leverages an HTML letterhead, typically the graphic (e.g. your company logo) is stored in the Document folder in Salesforce.com. When the recipient opens the email, their email mail client (e.g. Outlook) makes a call back to a Salesforce server to deliver the graphic so that it will render inside the email to the recipient. That request for the graphic back to the Salesforce server for the image is how Salesforce knows if the email was opened and how many times. Keep in mind if your HTML email gets forwarded, and those recipients open the email, the "Open" count will continue to climb. Genius!
The easiest way to spot check that an email was opened from a Lead or Contact record is to slide down the page to the HTML Email Status related list. If you don’t see that section on your Lead or Contact record, make sure you’ve added it to the page layout. It will show you the date the email was opened, how many times the email was viewed and the last time it was viewed.
The other method is to run the native HTML Email Status report. Under the Reports tab it’s found under the Activities folder.
This report might be a better option if you only have a limited amount of time to followup on emails you’ve sent out during the week and you want to see who has opened your emails before making calls (for salespeople, the thought here is the more times the email has been opened, the higher level of interest – so call the "high opens" first). It is also a good report to run if you’ve done a mass email natively out of Salesforce and you want to see the open rate on your email campaign (TIP: Create a separate email template for each mass email campaign so you can filter or group your report by the template name). Here is an example output of the report:
Some things to know about the native HTML Status Report – it’s quirky! The results you see in the repot are for the User running the reports. If you want to see the results for another User, and you are an Administrator, you can (1) have the User grant you access to their account and run the report as that User, or, (2) you can schedule the report and have it sent to you but be sure to change the “Running User” field to the other User.
What if you don’t see an HTML Status report? Check to see if you have it enabled for your org: Setup > App Setup >Customize > Activities > Activity Settings > Email Tracking (checkbox).
Though you can search the report folder and find the “HTML Email Status” report, it’s been my experience that you cannot go to the Report tab and search and find the “Bounce” report (weird isn’t it?).
However you can make your own “Bounce” report from scratch. First Start by creating a normal Accounts and Contact report.
Then once you’re in the report wizard you can search for “bounce” (as in the screenshot below) to find the fields you need. Then you can drag the fields to your report – not too bad!
Additional Info – Complete list of Mail None Delivery (NOD) codes in Salesforce, which can be helpful to understand why you are having a problem:
- 211 A system status message
- 214 A help message for a human reader follows
- 220 Service ready
- 221 Service closing
- 250 Requested action taken and completed. The best message of them all
- 251 The recipient is not local to the server, but it will accept and forward the message
- 252 The recipient cannot be VRFYed, but the server accepts the message and attempts delivery
- 354 Start message input and end with <CRLF>.<CRLF>. This indicates that the server is ready to accept the message itself
- 421 The service is not available and the connection will be closed
- 422 The recipient has exceeded their mailbox limit. It could also be that the delivery directory on the Virtual server has exceeded its limit
- 431 Not enough disk space on the delivery server. Microsoft say this NDR maybe reported as out-of-memory error
- 432 Classic temporary problem, the Administrator has frozen the queue
- 441 Intermittent network connection. The server has not yet responded. Classic temporary problem. If it persists, you will also a 5.4.x status code error
- 442 The server started to deliver the message but then the connection was broken
- 446 Too many hops. Most likely, the message is looping
- 447 Problem with a timeout. Check receiving server connectors
- 449 A DNS problem. Check your smart host setting on the SMTP connector. For example, check correct SMTP format. Also, use square brackets in the IP address [188.8.131.52] You can get this same NDR error if you have been deleting routing groups
- 450 The requested command failed because the user’s mailbox was unavailable
- 451 The command has been aborted due to a server error. Not your fault
- 452 The command has been aborted because the server has insufficient system storage
- 465 Multi-language situation. Your server does not have the correct language code page installed
- 500 The server could not recognize the command due to a syntax error. 501 A syntax error was encountered in command arguments
- 502 This command is not implemented
- 503 The server has encountered a bad sequence of commands
- 504 A command parameter is not implemented. 51x Problem with email address
- 510 Often seen with contacts. Check the recipient address
- 511 Another problem with the recipient address. Maybe an Outlook client replied to a message while offline
- 512 SMTP; 550 Host unknown. An error is triggered when the host name can’t be found. For example, when trying to send an email to bob@ nonexistantdomain.com
- 513 Another problem with contacts. Address field maybe empty. Check the address information
- 514 Two objects have the same address, which confuses the categorizer
- 515 Destination mailbox address invalid
- 516 Mailbox may have moved
- 517 Problem with senders mail attribute, check properties sheet in ADUC. 52x NDR caused by a problem with the large size of the email
- 521 The message is too large. Else it could be a permissions problem. Check the recipient’s mailbox
- 522 The recipient has exceeded their mailbox limit
- 523 Recipient cannot receive messages this big. Server or connector limit exceeded
- 524 Most likely, a distribution list or group is trying to send an email. Check where the expansion server is situated
- 530 Problem with MTA, maybe someone has been editing the registry to disable the MTA / Store driver
- 531 Mail system full
- 532 System not accepting network messages
- 533 Remote server has insufficient disk space to hold email
- 534 Message too big
- 535 Multiple Virtual Servers are using the same IP address and port. Email probably looping
- 540 DNS Problem. There is no DNS server that can resolve this email address.
- 541 No answer from host
- 542 Bad connection
- 543 Routing server failure. No available route
- 544 Cannot find the next hop
- 546 Tricky looping problem, a contact has the same email address as an Active Directory user. One user is probably using an Alternate Recipient with the same email address as a contact
- 547 Delivery time-out. Message is taking too long to be delivered
- 548 Bad recipient policy
- 550 The requested command failed because the user’s mailbox was unavailable (for example because it was not found, or because the command was rejected for policy reasons). Underlying SMTP 500 error. Our server tried ehlo, the recipient’s server did not understand and returned a 550 or 500 error
- 551 The recipient is not local to the server. The server then gives a forward address to try
- 552 The action was aborted due to exceeded storage allocation. Possibly the disk holding the operating system is full. Or could be a syntax error if you are executing SMTP from a telnet shell
- 553 The command was aborted because the mailbox name is invalid. Could also be More than 5,000 recipients specified
- 554 The transaction failed
- 555 Wrong protocol version
- 563 More than 250 attachments
- 571 Permissions problem. For some reason the sender is not allowed to email this account. Perhaps an anonymous user is trying to send mail to a distribution list
- 572 Distribution list cannot expand and so is unable to deliver its messages
- 573 Internal server error, IP address related
- 574 Extra security features not supported
- 575 Cryptographic failure. Try a plain message with encryption
- 576 Certificate problem, encryption level maybe to high
- 577 Message integrity problem