c# - 关于在后台线程中发送电子邮件,我应该知道些什么?网络

标签 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);

最佳答案

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

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

关于c# - 关于在后台线程中发送电子邮件,我应该知道些什么?网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2106474/

相关文章:

c# - "ProtoCompile"任务,.Net Core 控制台应用程序不支持 AdditionalProtocArguments"参数

c# - 如何将gridview绑定(bind)到另一个gridview?

asp.net - Godaddy 服务器无法使用电子邮件

php - 检测是否发送了电子邮件

java - 从文本文件中提取某些值(姓名、电子邮件、电话号码)

Outlook 中的 HTML 电子邮件背景中断布局 - 使用 vml 方法

c# - 如何找到 List<T> 中的特定元素?

c# - 使用 WCF 时创建工厂方法的最佳方法是什么?

.net - 是否可以使用 ASP.NET Sitemap 生成面包屑?

c# - jquery 列表框返回用户选择的内容