我有一个在后台运行的线程,它会休眠并在被唤醒时从数据库中提取数据。我正在使用 SmtpClient(下面的代码)使用谷歌应用程序发送电子邮件。
我想知道有什么我要注意的吗?我计划一次只发送一封电子邮件(注册或忘记密码电子邮件)。我有点担心会发生一些事情,比如无效的电子邮件锁定线程,因为我没有设置超时,或者可能谷歌应用程序恰好完成并导致应用程序崩溃。我应该注意什么?我应该问我应该如何测试?
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential(fromAddr, pass),
EnableSsl = true
};
MailMessage mail = new MailMessage(fromAddr, toAddr, subject, body);
mail.IsBodyHtml = true;
client.Send(mail);
最佳答案
如果您使用的是 IIS。在您的服务器上安装 SMTP 并将所有邮件发送到本地主机。这样,如果电子邮件没有立即通过,SMTP 服务器会将电子邮件排队,而不是挂起您的应用程序。
您需要配置 SMTP 服务器以使用 gmail 作为智能主机。如果您需要有关如何配置它的更多信息,请告诉我。
关于c# - 关于在后台线程中发送电子邮件,我应该知道些什么?网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2106474/