如何使用ASP.NET VB.net发送多个电子邮件

时间:2015-02-23 18:25:00

标签: asp.net vb.net

如何设置下面的代码以生成多个电子邮件,例如每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

2 个答案:

答案 0 :(得分:1)

我同意对调度程序的评论。如果您不喜欢,可以创建一个执行此操作的Windows服务。如果你想每隔X分钟发射一次例程,这就解决了。

你在这里没有足够的代码发送电子邮件,所以你必须用一些逻辑来包装它,用你想要的电子邮件信息激活例程。更有可能的是,它存储在数据库(收件人,电子邮件)或其他一些持久存储中。

我注意每隔15分钟向同一个人发送提醒的想法,因为你很可能会惹恼他们(除非你的意图是什么?)。

答案 1 :(得分:0)

谢谢大家的贡献。我决定创建一个带有SQL和发送电子邮件任务的SSIS包。 SQL任务检查放置了新订单,发送电子邮件任务在预定时间内向用户发送提醒。