如何设置下面的代码以生成多个电子邮件,例如每15分钟发送一次提醒?感谢您的任何指导。
Private Sub SendEmail(ByVal pharmEmail As String, ByVal backupEmail As String)
Dim smtpClient As New System.Net.Mail.SmtpClient()
Dim message As New System.Net.Mail.MailMessage()
Try
Dim fromAddress As New System.Net.Mail.MailAddress(WebConfigurationManager.AppSettings("EmailFromAddr"), WebConfigurationManager.AppSettings("EmailFromName"))
message.From = fromAddress
message.To.Add(pharmEmail)
message.Subject = WebConfigurationManager.AppSettings("EmailSubject")
message.Priority = Net.Mail.MailPriority.High
If (WebConfigurationManager.AppSettings("backupEnabled") = True) Then
message.CC.Add(backupEmail)
End If
message.IsBodyHtml = True
Dim orderURL As New HyperLink
orderURL.Text = "here"
orderURL.NavigateUrl = "http://" & WebConfigurationManager.AppSettings("ServerName") & "/User/ReviewOrder.aspx?orderID=" & webOrderID
message.Body = "An order was created using the account of " + Profile.FirstName.ToString() + " " + Profile.LastName.ToString() + ". " + WebConfigurationManager.AppSettings("EmailBody") + "<a href='" + orderURL.NavigateUrl + "'>here.</a>"
'message.Body = WebConfigurationManager.AppSettings("EmailBody") & " " & orderURL.
smtpClient.Send(message)
Catch ex As Exception
ErrorHandler.WriteError(ex.ToString)
Throw ex
End Try
答案 0 :(得分:1)
我同意对调度程序的评论。如果您不喜欢,可以创建一个执行此操作的Windows服务。如果你想每隔X分钟发射一次例程,这就解决了。
你在这里没有足够的代码发送电子邮件,所以你必须用一些逻辑来包装它,用你想要的电子邮件信息激活例程。更有可能的是,它存储在数据库(收件人,电子邮件)或其他一些持久存储中。
我注意每隔15分钟向同一个人发送提醒的想法,因为你很可能会惹恼他们(除非你的意图是什么?)。
答案 1 :(得分:0)
谢谢大家的贡献。我决定创建一个带有SQL和发送电子邮件任务的SSIS包。 SQL任务检查放置了新订单,发送电子邮件任务在预定时间内向用户发送提醒。