Free Support Forum - aspose.com

Detect incoming message email client

We have a processing application that reads from an incoming mailbox and processes the message based on their content.

We'd like to track the email client that was used to generate the emails we process (Outlook, gmail, Yahoo Mail, Lotus,...)

Is this information available somewhere the Aspose MailMessage?

Thank you,

Jm

Hi Jm,

Thank you for inquiry.

I am sorry I do not know any method of detecting the email client from the message. However, it is possible to detect the sending SMTP server by reading the “Received” headers from MailMessage class.

MailMessage message = …; // load from disk or fetch from pop3, imap etc
Console.WriteLine("From: " + message.Headers[“Received”]);

Its is in the format of
from {sender’s smtp information} by {receiver’s mail server}

In case of gmail, it would be like
from mail-qw0-f50.google.com (ip address)

But still, it is difficult to associate the client based on this information, as the header would be same if the sender used either gmail.com web client or has configured his Outlook to send messages using gmail.