我知道这个问题已经问过几次了,但是我的情况却大不相同。 我有一个Web API项目,该项目具有一种用于向用户发送电子邮件以确认其注册的操作方法。该代码在我的本地计算机和所有其他本地计算机上运行良好。第一次部署后,发送电子邮件功能正常工作,直到某天突然停止工作。在将Web API代码附加到生产服务器IIS后,代码中的没有异常,在日志文件中没有发现异常,一切似乎都很好。我再次检查了生产服务器上是否已启用SMTP功能。
进一步的故障排除:
这是我正在使用的示例代码:
MailMessage mail = new MailMessage();
mail.From = new System.Net.Mail.MailAddress(fromMail);
// The important part -- configuring the SMTP client
SmtpClient smtp = new SmtpClient();
smtp.Port = 587; // [1] You can try with 465 also, I always used 587 and got success
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; // [2] Added this
smtp.UseDefaultCredentials = false; // [3] Changed this
smtp.Credentials = new NetworkCredential(fromMail, fromPassword); // [4] Added this. Note, first parameter is NOT string.
smtp.Host = SMTPServer;
//recipient address
mail.To.Add(new MailAddress(toMail));
//Formatted mail body
mail.IsBodyHtml = true;
mail.Body = body;
mail.Subject = subject;
smtp.Send(mail);
return true;
我使用smtp.office365.com作为SMTP服务器客户端。
我还有最后一个问题:
System.Net.Mail是否限制每封邮件发送的邮件数量 日月年?还是有可能服务器已经 被阻止发送电子邮件?