Sending Mail using gmail SMTP from CSharp/.net

2019-01-27 04:08发布

using(SmtpClient client = new SmtpClient("smtp.gmail.com", 587)) 
{
    // Configure the client
    client.EnableSsl = true;
    client.UseDefaultCredentials = false;
    client.Credentials = new NetworkCredential(textBox1.Text, textBox3.Text);

    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    MailMessage message = new MailMessage(
    textBox1.Text, // From field
    textBox2.Text, // Recipient field
    textBox4.Text, // Subject of the email message
    richTextBox1.Text // Email message body
    );

    client.Send(message);

    MessageBox.Show("Email has been sent.");
}

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

I have been getting this error with gmail but am able to use other SMTP Servers to send mails. The credentials are correct.

标签: c# .net smtp gmail
3条回答
叛逆
2楼-- · 2019-01-27 04:12
    message.To.Add(new MailAddress("abc@abc.com));  // replace with valid value 
        message.From = new MailAddress("abc@abc.com", "Contact Form");
        message.Subject = Subject;
        message.Body = string.Format(NewBody);
        message.IsBodyHtml = true;
        using (var smtp = new SmtpClient())
        {
            var credential = new NetworkCredential
            {
                UserName = "abc@gmail.com",  // replace with valid value
                Password = "qwerty123456"  // replace with valid value
            };
            smtp.Credentials = credential;
            smtp.Host = "smtp.gmail.com";
            smtp.Port = 587;
            smtp.EnableSsl = true;
            smtp.Send(message);
        }

Just This is working code for me you can use it,Only Problem with this code is sometime mails are coming in spam Folder.

查看更多
Evening l夕情丶
3楼-- · 2019-01-27 04:27

Looks like there is a security issue with Gmail account.

I have also faced that same issue and then found solution from this post.

The post mentioned that you need to change the Account Permission setting with "Access of Less secure App" Enabled.

In fact you will get notification when you logged in to your gmail account.

查看更多
forever°为你锁心
4楼-- · 2019-01-27 04:29

You need to enable two step authentication for you Gmail account and get application password. Then use that password instead of regular one.

查看更多
登录 后发表回答