Free Support Forum - aspose.com

Display name is not shown in mail clients


#1

I’m using Aspose.Email for .net version 19.2

I need to send email messages using the SmtpClient.
The email is created using the MailMessage object.
No matter what i do, the display name is not shown in email clients (Outlook, Outlook Online, Gmail)

Test using MailAddress

    MailAddress fromAddress = new MailAddress("apptest@test.com","John Smith");
    MailAddress toAddress = new MailAddress("test@test.com");
    MailMessage mm = new MailMessage(fromAddress,toAddress);
    mm.Subject = "test subject";
    mm.Body = "test body";

Test using MailMessage.From with a display name

    MailMessage mm = new MailMessage();
    mm.From = "John Smith <apptest@test.com>";
    mm.To = "test@test.com";
    mm.Subject = "test subject";
    mm.Body = "test body";

What do i need to do in order to show “John Smith” as display name in a email client?

Note: This is not a problem of the mail client, but the display name is not even part of the raw message source:
It just uses the first part of the email address as display name

Message source for the above email

 From: apptest <apptest@test.com>
To: "test@test.com" <test@test.com>
Subject: test subject
Thread-Topic: test subject

#2

@manuelk

I have worked over your requirements and have created following example on my end.

public static void TestSMTP()
{
    try
    {

        string mailboxUri = "https://exchange.aspose.com/ews/exchange.asmx";
        //   string username = "asposeemail.test3@aspose.com";
        string username = "asposeemail.test3@aspose.com";
       
        string tousername = "xxxx.xxxx@gmail.com";
       

        string password = "password";

        MailAddress fromAddress = new MailAddress(username, "Mudassir 3");
        MailAddress toAddress = new MailAddress(tousername, "Mudassir 123");
        MailMessage mm = new MailMessage(fromAddress, toAddress);


        mm.From = fromAddress;
        mm.To = toAddress;
        mm.Subject = "test subject";
        mm.Body = "test body";

        // Create an instance of the SmtpClient class
        SmtpClient client = new SmtpClient();


        // And Specify your mailing host server, Username, Password and Port
        client.Host = "exchange.aspose.com";
        client.Username = username;
        client.Password = password;
           
        //Client.Send will send this message
        client.Send(mm);
        Console.WriteLine("Message sent");
        }
        catch (Exception e)
        {
            String s = e.StackTrace;
        }
        

}

Please observe the view of email being received in Gmail and showing the sender name rather than email. I don’t feel this is issue related to Aspose.Email.


#3

Still doesn’t work on my side. I just copied your code and changed the address:

                string username = "apptest@foo.com";
                string tousername = "test@gmail.com";

                MailAddress fromAddress = new MailAddress(username, "Mudassir 3");
                MailAddress toAddress = new MailAddress(tousername, "Mudassir 123");
                MailMessage mm = new MailMessage(fromAddress, toAddress);

                mm.From = fromAddress;
                mm.To = toAddress;
                mm.Subject = "test subject";
                mm.Body = "test body";

                SmtpClient smtpClient = new SmtpClient("outlook.office365.com", 587, SecurityOptions.SSLAuto);
                smtpClient.Username = "apptest@foo.com";
                smtpClient.Password = "password";

                smtpClient.Send(mm);

In gmail, it is shown like this:
image.png (9.4 KB)

And if i check the original message in gmail, it shows that the To-Name was set properly, but the From-Name is ignored:
image.png (32.5 KB)

Which version of aspose are you using?


#4

I have done some more testing:
When using a google account for sending the email, the name in the email is shown as expected.

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);

But if i use a microsoft office365 account, it doesn’t work.

SmtpClient smtpClient = new SmtpClient("outlook.office365.com", 587 );

I’ll check with our AD admin whether this can be configured on the account


#5

@manuelk,

If it had been an issue with API then Gmail would have been reproducing the same issue. I think you may need to verify the configuration on your end.