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

时间:2014-09-26 14:30:42

标签: c# email smtp gmail

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

5.5.1 Authentication Required

这是我的代码:

 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地址和密码,但它不起作用! 错误在哪里?

2 个答案:

答案 0 :(得分:0)

在你的代码中添加此行:

client.UseDefaultCredentials = false;

Refernce:UsedefaultCredentials

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

答案 1 :(得分:0)

我找到了答案。

我必须在gmail中更改安全设置。

https://support.google.com/mail/answer/1173270?hl=en