Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Email client detection

I have a project to send some email to end clients. My client need to know what exactly "Email Client" they use to read the mail. I know a hidden can get the open event and even the user agent they use, so by parsing user agent i can get most email clients info.

But it's hard to detect some popular web mail clients like "Gmail", "Hotmail" and "Yahoo mail". Because user agent return is only the browser user agent string.

Edit: i think i need a result more like this: here

like image 706
Suning Avatar asked Nov 03 '10 08:11

Suning


People also ask

How do I find out what email client someone is using?

If you can't find a familiar email service provider in the source code, you can check who owns the IP address of the email sender. You can find the IP address in the email source code as well, but you'll need to use an IP retrieval tool to learn which email service provider owns it.

What is an email client and how it works?

What is an Email Client? An Email Client is a desktop program that allows users to access their emails on their computer without having to log in via the web. They are linked to email accounts through POP3 or IMAP addressing. This means they can handle email for accounts with ISPs and other non-webmail services.

What is an email client example?

An email client is a program that lives on your computer and lets you send or receive emails. Typical examples include Outlook and Windows Live Mail. We don't recommend using email clients - they're less future-proof than accessing your emails through a browser or app via webmail.

What is litmus testing in email?

Litmus is an email testing tool with various email clients such as Mobile clients, Web-based email clients, Outlook, Cross browsers, etc. We can test the emails in Litmus using HTML code. We can also validate the web pages using Litmus.


2 Answers

You will not be able to perfectly detect the e-mail client your users are using.

In E-Mail headers some programs choose to include the X-Mailer tag, which tells you exactly with what program and version your user is sending the e-mail - of course that can be faked. Not all programs use the X-Mailer tag, I e.g. couldn't find it in a mail sent with Microsoft Outlook 2010.

Besides that you could do some guesswork by the Received from tag in the e-mail headers, but in the end you can use SMTP and POP3 with most webmailers like GMail or Yahoo. That means even though your e-mail is sent via servers from google.com, the originating client could still be Outlook or Thunderbird and not GMail itself.

Maybe we can help you if you better if you could tell us why exactly your client wants to know the programs the users use to read their mail? Probably to tune the appearance of newsletters?

like image 144
Dennis G Avatar answered Sep 28 '22 05:09

Dennis G


I know this is a really old topic, but the most reliable way to detect webmail client for gmail, hotmail, outlook.com and office365 is to use a tracking pixel. What you will want to do is geo-locate the IP address and you'll find gmail all comes from mountain-view and microsoft based products from redmond.

I haven't validated this with non-US users, but I'd imagine the caching services they use will all be in the same place.

Cheers

like image 40
Deane Avatar answered Sep 28 '22 07:09

Deane