Question

I am trying to send email like this

var fromAddress = new MailAddress("fromaddress", "From Name");
        var toAddress = new MailAddress("toaddress", "To Name");
        const string fromPassword = "password";
        const string subject = "Subject";
        const string body = "Body";

        var smtp = new SmtpClient
        {
            Host = "smtp.gmail.com",
            Port = 587,
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = false,
            Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
        };
        using (var message = new MailMessage(fromAddress, toAddress)
        {
            Subject = subject,
            Body = body
        })
        {
            smtp.Send(message);
        }


        Console.WriteLine("Sent");
        Console.ReadLine();

but it gives this error .

The SMTP server requires a secure connection or the client was not authenticated. 
The server response was: 5.5.1 Authentication Required.

I am sing this code in simple console application on my local host . So whats the issue in my code ?

Update

I changed fromAddress email and it send email successfully . But i don't receive any email in my toAddress email's inbox/Spam .

No correct solution

OTHER TIPS

Try to add DeliveryMethod = SmtpDeliveryMethod.Network when creating SmtpClient.

See post: https://stackoverflow.com/a/489594/1432770

There is a variety of reasons for this discussed here: Sending email through Gmail SMTP server with C#

Your code in the first link has worked for me.

Do you use two steps verification? You need to sign in using application-specific passwords: https://support.google.com/accounts/answer/185833?hl=en

Your code worked for me too!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top