C# 通过c windows窗体发送smtp邮件?

C# 通过c windows窗体发送smtp邮件?,c#,email,smtp,gmail,C#,Email,Smtp,Gmail,我正试图通过c windows窗体发送电子邮件,但它给了我一个5.5.1身份验证要求的错误: 这是我的密码: private void button4_Click(object sender, EventArgs e) { try { MailMessage mail = new MailMessage("my@gmail.com", "my@gmail.com", "test", "Dette

我正试图通过c windows窗体发送电子邮件,但它给了我一个5.5.1身份验证要求的错误:

这是我的密码:

 private void button4_Click(object sender, EventArgs e)
        {

            try
            {
                MailMessage mail = new MailMessage("my@gmail.com", "my@gmail.com", "test", "Dette er en test");
                SmtpClient client = new SmtpClient("smtp.gmail.com");

                client.Port = 587;
                client.Credentials = new System.Net.NetworkCredential("my@gmail.com", "mypassword");

                client.EnableSsl = true;

                client.Send(mail);
                MessageBox.Show("Mail afsendt!", "Virkede!", MessageBoxButtons.OK);
            }
          catch (Exception ex)
            {

              MessageBox.Show(ex.Message);
            }

        }
我正在使用正确的gmail地址和密码,但它不工作! 错误在哪里?

在您的代码中添加此行:

参考:


您的系统共享多个ip网络,然后与您的管理员联系,如果您在gmail中使用两步验证码,请将其删除。

我找到了答案

我不得不更改gmail的安全设置


如果你在你的gmail中使用两步验证码,请将其删除。当你登录你的gmail帐户时,它会直接进入你的收件箱或任何其他谷歌密码两步验证码。
client.UseDefaultCredentials = false;