Asp.net电子邮件应用程序邮件发送时会发送两次

时间:2014-10-27 09:28:10

标签: asp.net vb.net

我制作了这个简单的邮件应用程序,但问题是收件人会收到两次电子邮件。 这是我点击按钮上的代码

 Protected Sub submit_feedback_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles submit_feedback.Click
        Dim feedback As String = "<b>Client Name :</b><br/>" + ParseOutput.Text + "<br/><br/> <b>Clients Experience :</b><br/>" + brief_details.Text + "<br/><br/> <b>Improvement Needed :</b><br/>" + brief_details2.Text + "<br/><br/> <b>Rating Given :</b><br/>" + rate1.SelectedValue.ToString + "<br/><br/> <b>How do you know about us :</b><br/>" + choice2.SelectedValue.ToString

        Dim mail As New MailMessage()
        Dim SmtpServer As New SmtpClient()
        mail.To.Add("surajprince20@gmail.com")
        mail.From = New MailAddress("something@gmail.com", "SuRaj_ Email Test")
        mail.Subject = "Feedback - Reply From Client "
        mail.Body = feedback
        mail.IsBodyHtml = True
        SmtpServer.Port = 25
        SmtpServer.Credentials = New System.Net.NetworkCredential("something@gmail.com", "1234")
        SmtpServer.Host = "smtp.gmail.com"
        SmtpServer.EnableSsl = True
        SmtpServer.Send(mail)
        Try
            SmtpServer.Send(mail)
            Response.Write("Successfull")

        Catch ex As SmtpException
            Response.Write(ex)
        End Try
    End Sub

3 个答案:

答案 0 :(得分:0)

        SmtpServer.Send(mail)
        Try
            SmtpServer.Send(mail)

您实际上是在两次发送邮件

答案 1 :(得分:0)

从您的代码中可以清楚地看到,您要发送邮件两次,请查看您的代码:

  SmtpServer.Send(mail) '<----- first sending attempt
  Try
     SmtpServer.Send(mail)'<----- second sending attempt
     Response.Write("Successfull")
  Catch ex As SmtpException
     Response.Write(ex)
  End Try

因此您需要移除位于SmtpServer.Send(mail)之外的TRY 即,

    SmtpServer.Host = "smtp.gmail.com"
    SmtpServer.EnableSsl = True
    Try ' <------ eleminate one line
        SmtpServer.Send(mail)
        Response.Write("Successfull")
    Catch ex As SmtpException
        Response.Write(ex)
    End Try

答案 2 :(得分:0)

    Protected Sub submit_feedback_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles submit_feedback.Click
     Try
        Dim SmtpServer As New SmtpClient()
        Dim mail As New MailMessage()
        SmtpServer.Credentials = New System.Net.NetworkCredential("something@gmail.com", "1234")
        SmtpServer.Port = 587
        SmtpServer.Host = "smtp.gmail.com"
        mail = New MailMessage()
        mail.From = New MailAddress("something@gmail.com", "SuRaj_ Email Test")
        mail.To.Add("surajprince20@gmail.com")
        mail.Subject = "Feedback - Reply From Client "
        mail.Body = feedback
        SmtpServer.Send(mail)
        MsgBox("mail send")
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
 END SUB