FluentEmail icon indicating copy to clipboard operation
FluentEmail copied to clipboard

The server committed a protocol violation The server response was:

Open mostafavb opened this issue 3 years ago • 1 comments

I am using FluentEmail in Asp.Net project on .netframework 4.8, when I want to use SendAsync method I get this error:

"The server committed a protocol violation The server response was: "

there is nothing anymore to give more information about this error.

` SmtpSender smtpSender =

        new SmtpSender(() => new System.Net.Mail.SmtpClient("smtp.office365.com")
        {
            EnableSsl = true,
            DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
            Port = 587,
            Credentials = new System.Net.NetworkCredential("[email protected]", "00X-0")
        });

        Email.DefaultSender = smtpSender;
        var email = Email
            .From("[email protected]", "Customer Care")
            .To(toAddresses)               
            .Subject(subject)
            .UsingTemplate(body, new { });           
        try
        {
            var sendedEmail = await email.SendAsync();
            return sendedEmail.Successful;
        }
        catch (Exception ex)
        {
            LogManager.InsertLog(LogTypeEnum.SystemError, "Error sending e-mail for order notification." + ex.Message, ex);
            return false;
        }

`

Screenshot 2022-09-21 085808

mostafavb avatar Sep 21 '22 16:09 mostafavb

@mostafavb you could try using FluentEmail.MailKit instead of FluentEmail.Smtp.

FluentEmail.MailKit is the current recommendation from Microsoft and was the only method of getting SMTP over port 587 working. In my case, it seemed like FluentEmail.Smtp could not properly negotiate which SSL / TLS encryption should be used for the connection and caused the same error you are seeing.

carlin010 avatar Jan 03 '23 21:01 carlin010