关于在后台线程中发送电子邮件,我应该知道些什么?ASP.NET

7 c# asp.net email smtp google-apps

我有一个在后台运行的线程,当某些东西被唤醒时它会睡眠并从数据库中提取数据.我使用谷歌应用程序使用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);
Run Code Online (Sandbox Code Playgroud)

Jer*_*amp 3

如果您使用的是 IIS。在您的服务器上安装 SMTP 并将所有邮件发送到本地主机。这样,如果电子邮件没有立即通过,SMTP 服务器会将电子邮件排队,而不是挂起您的应用程序。

您需要配置 SMTP 服务器以使用 gmail 作为智能主机。如果您需要有关如何配置的更多信息,请告诉我。