在 ASP.Net 5 分钟后向注册用户发送电子邮件的方法

本文关键字:用户 电子邮件 方法 注册 Net ASP 分钟 | 更新日期: 2023-09-27 18:32:14

在我的 ASP.net 网站上,我已经完成了在用户注册自己时向用户发送电子邮件,但我希望当用户从我的网站注册时,它将在 5 分钟后自动发送电子邮件,而不是在注册后立即发送。这是我的简单代码:

private void SendEmail()
        {
                SmtpClient smtpClient = new SmtpClient();
                MailMessage mailMsg = new MailMessage();
                MailAddress fromAddress = new MailAddress("test@test.com");
                smtpClient.Host = "mail.test.com";
                smtpClient.Credentials = new NetworkCredential("test@test.com", "test");
                smtpClient.Port = 25;
                mailMsg.From = fromAddress;
                mailMsg.To.Add(emailid);
                mailMsg.Subject = "You are successfully registered";
                mailMsg.Body = myString.ToString();
                mailMsg.IsBodyHtml = true;
                smtpClient.Send(mailMsg);
                System.Threading.Thread.Sleep(500000);
}

我使用System.Threading.Thread.Sleep(50000)等待了5分钟,但这并没有帮助我获得确切的需求。

我认为我需要在数据库表中针对每个注册用户的电子邮件设置一个标志,我将创建一个网络服务,该服务将在 5 分钟后执行以查看需要发送电子邮件的电子邮件地址。还有其他快速的小方法可以做到这一点吗?

在 ASP.Net 5 分钟后向注册用户发送电子邮件的方法

将注册电子邮件和注册日期存储在数据库(或文本文件)中。

制作一个简单的不同应用程序,执行以下操作:

-Checks the current date to the registration date plus 5 minutes.
-if its bigger, send out the email
-if the sending was success, remove the entry from the db

构建此应用程序,并通过 cronjob 或 windows 调度程序每 4-5 分钟调用 exe