What diagnosis steps can I do if my emails send, but are not received, not even as spam?

Email troubleshooting can be divided into "sender" and "recipient" issues. Since you are able to send to other people the Sending side is probably working fine. You need to investigate the Recipient side to locate the problem.

Looking at the logs is a good step and can tell you where your messages are getting to and where they are not. Normal email flow goes like this:

  1. You send from your email software to your server

  2. Your server sends to their server

  3. Their server sends to their email client

In this case you can see from the logs that their server seems to be

cluster5.us.messagelabs.com

Messagelabs is an email filtering service that is now owned by Symantec. Message filtering services like this are used to remove all the spam and junk email before the messages are sent to the client software. This means that any messages blocked by messagelabs will not turn up in any spam or junk email folders in the client software. They will just disappear and the recipient will never see any sign of them. On rare occasions they may get a message saying that "a message from [email protected] has been blocked. Contact your IT dept to unblock it."

This sounds very similar to what has happened here. Technically you should get a bounce response from messagelabs like the guy in the link you posted but this is not guaranteed. They may just silently delete your message if they think it is spam. Usually messagelabs will provide an interface for the IT department at their customer where blocked messages can be released. You can ask your contact at the company to check with their IT team for any blocked messages from your email address. At least you can if you have some other way of contacting them!

Other useful general troubleshooting steps: If you didn't have access to the log files you can find out what the server should be for any domain by looking up the "MX records"

For example here: http://mxtoolbox.com/

The MX record is what an email server looks for to find out where they should send your email.

You can then initiate a manual connection to the server listed in the mx record to see if it is accepting email and what error messages you might get. Use a telnet program like Putty: http://www.putty.org/ and telnet to the email server on port 25. Some of the commands you will need are listed here: http://www.yuki-onna.co.uk/email/smtp.html

So now you can connect to their mail server and send an email using your email address as the "From" address and see how the server responds directly. Any email error codes that are returned can be looked up in google or here: http://www.serversmtp.com/en/smtp-error

Once you have checked that you can connect to the server it may tell you why your email is being rejected as spam or for some other reason, but the reason may not be easy to decipher. At this stage I would suggest you ask the messagelabs customer to contact their support number with the error codes (or lack of them) that you received from their server. Since you are not a customer of messagelabs you can't log a problem or ask messagelabs to check the settings on their customer's account. Their customer will have to ask that themselves. This would be similar for any other mail filtering provider.

Hopefully the error code would point you to a particular problem, like your server being listed on a block list or lacking a SPF record and you can fix that yourself because dealing with a mail filtering provider at third hand is never fun. The last problem I had like this took over three months to resolve before the fault was located and messagelabs fixed it.

I will defer to the answer by kubanczyk for details on SPF and DKIM settings because they seem to be much more knowledgeable than I am!

Good luck!


Your outbound SMTP logs indicate that the destination accepted the message. If the destination mail server is kind enough to send a bounceback for any reason, that's all you get. Aside from asking the client (who may not know) what happened to the email, there's not much you can do except guess. You might also be able to look at the transport headers on a message that you received from the client.

Here's a product data sheet for the MessageLabs solution (look at the control actions on page 2)

So this client's mail system is using an enterprise mail security solution, which offers potentially complex policies to block, deny, modify, filter, scan, redirect etc mail based on common factors like:

  1. Transport headers (Was this message scanned by another product? Has it been flagged for encryption? Is it signed? Do I trust the source mail system?)
  2. Recipients (Who is allowed to email whom?)
  3. Subject, attachment restrictions (Is 'V1AGArA' in the subject? Does it contain a .exe?)
  4. Restricted keywords in text?
  5. Has the text of the message been classified? (Was this message marked as abusive? Does it contain PII?)

The list goes on and on. I am not entirely familiar with MessageLab's offering, but I work with a similar product that the big bank's compliance, governance, risk, and IT security departments love because it allows those departments to filter, audit, archive, review, analyze, categorize, block mail with an extremely granular level of detail. A lot of our clients are legally required to do common things like:

  1. Quarantine inbound and outbound mail that can be in potential violation of financial regulations by redirecting the message transparently to the company's legal team to review and approve.
  2. Rewrite the participants on inbound or outbound messages based on the content of the message.
  3. Block the message from specific mailboxes based on content or keywords
  4. Redact and rewrite portions of the message based on document analysis
  5. Apply additional restrictions and control actions based on region. One example would be due to ITAR regulations a client of mine had. All e-mail from certain geographical regions needed to have extra deep-content analysis policies applied with large subsets of mail volume requiring manual approval to reach end user mailboxes.

And of course, since anything can and will happen in enterprise email, there's always the possibility of the destination mail server simply discarding your message and forging a 200 OK or 250 COMPLETED response to your relay. It happens... I know some clients who configured mail relays to route mail into a black hole relay to eliminate rogue routing loops. Enterprise mail is always fun :)