【问题标题】:How to send multiple emails in the background? [closed]如何在后台发送多封电子邮件? [关闭]
【发布时间】:2026-02-22 20:20:04
【问题描述】:

我正在使用 ASP.NET。我正在实施一个论坛,我有一个评论提交表。当用户提交评论时,系统会向所有注册用户发送一封电子邮件,告知网站已添加评论。系统正在使用循环发送多封电子邮件,我正在连接 Gmail 服务器并一一发送电子邮件。问题是您拥有的注册用户越多,用户必须等待的时间越长,直到所有电子邮件都发送完毕并且屏幕上出现确认消息。

有没有一种方法可以发送电子邮件,而无需用户等待所有电子邮件在提交时发送?

【问题讨论】:

  • 听起来你需要一个异步进程。有很多 .Net 异步编码示例可以帮助您。
  • 您还可以配置数据库以发送电子邮件。 Check this.

标签: c# asp.net


【解决方案1】:

不要从 ASP.Net 应用程序发送电子邮件,因为这会耗费时间,正如您自己所注意到的那样。

我将创建一个名为Emails 的数据库表。 ASP.Net 应用程序只会生成行,但不会发送电子邮件本身。

创建一个控制台应用程序,其唯一目的是从Emails-表生成电子邮件。使用 Windows 任务调度程序每(例如 5)分钟运行一次此控制台应用程序。

【讨论】: