通过C#发送邮件,gmail不在线
我正试图通过gmail发送邮件。当我在本地主机上测试时,我成功地发送了邮件,但当我在线上传时,这不起作用。下面是我用来发送电子邮件的代码。需要帮忙吗通过C#发送邮件,gmail不在线,c#,smtp,gmail,mailmessage,C#,Smtp,Gmail,Mailmessage,我正试图通过gmail发送邮件。当我在本地主机上测试时,我成功地发送了邮件,但当我在线上传时,这不起作用。下面是我用来发送电子邮件的代码。需要帮忙吗 MailMessage mm = new MailMessage(); mm.From = new MailAddress("donotreply@gmail.com"); mm.Subject = "Test"; mm.To.Add(new MailAddress(email
MailMessage mm = new MailMessage();
mm.From = new MailAddress("donotreply@gmail.com");
mm.Subject = "Test";
mm.To.Add(new MailAddress(email));
mm.Body = "Test";
mm.IsBodyHtml = true;
SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
client.EnableSsl = true;
client.UseDefaultCredentials = true;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Credentials = new System.Net.NetworkCredential("donotreply@gmail.com", "password");
client.Send(mm);
您的问题似乎可以用类似的问题来回答:
如果这不能回答您的所有问题,请告诉我。在上面的当前代码中,您首先设置:
client.UseDefaultCredentials = true
它告诉框架使用默认凭据,然后您继续定义自定义凭据:
client.Credentials = new System.Net.NetworkCredential("donotreply@gmail.com", "password");
当它尝试发送邮件时,它将不使用,因为您已经告诉它使用上面两行的默认凭据。尝试设置
client.UseDefaultCredentials = false
你在哪里上传你的文件?可能是防火墙正在阻止该特定端口。(587)服务器上没有任何类型的日志吗?就像安全日志一样。不工作不是一个好的错误描述。看看错误,它应该包含问题所在的提示。一个猜测是smtp服务根本没有运行。我不知道这个错误,因为我有一个错误页面,如果我删除该页面,我仍然会在web配置自定义错误上得到一些信息。使用该答案的代码后仍然不起作用:/在本地主机上工作,但不在线。您可能需要详细说明此代码如何回答问题。现在,它已经被自动标记为低质量。