1

我正在尝试通过 gmail 发送邮件。我在本地主机上测试时发送邮件成功,但是当我在线上传时这不起作用。下面是我用来发送电子邮件的代码。请问有什么帮助吗?

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);
4

2 回答 2

0

您的问题看起来可以通过这个类似的 StackOverflow 问题来回答:

通过 Gmail 在 .NET 中发送电子邮件

如果这不能回答您的所有问题,请告诉我。

于 2013-10-19T11:50:10.613 回答
0

在上面的当前代码中,您首先设置:

client.UseDefaultCredentials = true

它告诉框架使用默认凭据,然后您继续定义您的自定义凭据:

 client.Credentials = new System.Net.NetworkCredential("donotreply@gmail.com", "password");

它在尝试发送邮件时不会使用它,因为您已经告诉它使用上面两行的默认凭据。尝试设置

client.UseDefaultCredentials = false
于 2015-03-24T15:21:32.223 回答