Pregunta

Tengo un control asp: Wizard en un sitio que ejecuta Framework 3.5. Adquirí la configuración del servidor web y la ingresé en la Utilidad de configuración web. Aquí está el código detrás del archivo:

Protected Sub Wizard1_FinishButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles Wizard1.FinishButtonClick
    Dim mySMTPClient As New SmtpClient()
    Dim sb As New StringBuilder
    Dim myMail As New MailMessage("webmaster@mydomain.com", "user@mydomain.com")
    Dim myFrom As New MailAddress("webmaster@mydomain.com")
    Dim myTo As New MailAddress("user@anotherdomain.com")
    myMail.BodyEncoding = System.Text.Encoding.UTF8
    myMail.IsBodyHtml = False
    myMail.To.Add(myTo)
    myMail.Subject = "Request for Information"
    sb.Append("Contact Name: ")
    sb.Append(txtcontactname.Text)
    sb.Append("<br/>Phone Number: ")
    sb.Append(txtcontactphone.Text)
    sb.Append("<br/>Employer Name: ")
    sb.Append(txtemployername.Text)
    sb.Append("<br/>City: ")
    sb.Append(txtcity.Text)
    sb.Append("<br/>State: ")
    sb.Append(cmbstate.Text)
    sb.Append("<br/>Zip: ")
    sb.Append(txtzip.Text)
    sb.Append("<br/>Other Location: ")
    sb.Append(txtotherloc.Text)
    sb.Append("<br/>Nature of Business: ")
    sb.Append(txtbusnat.Text)
    sb.Append("<br/>Eligible Employees: ")
    sb.Append(txteligemps.Text)
    sb.Append("<br/>Average Employee Turnover Per Year: ")
    sb.Append(txtempturnover.Text)
    sb.Append("<br/>Broker Name: ")
    sb.Append(txtbrokername.Text)
    sb.Append("<br/>Broker Email: ")
    sb.Append(txtbrokeremail.Text)
    sb.Append("<br/>Proposed Effective Date: ")
    sb.Append(txteffdate.SelectedDate)
    sb.Append("<br/>Limited Benefit Medical Plans: ")
    For Each item As ListItem In chkmedplans.Items
        If (item.Selected) Then
            sb.Append(item.Text)
            sb.Append(" ")
        End If
    Next
    sb.Append("<br/>Voluntary Products/Services: ")
    For Each item As ListItem In chkvolserv.Items
        If (item.Selected) Then
            sb.Append(item.Text)
            sb.Append(" ")
        End If
    Next
    sb.Append("<br/>Employer Paid Products/Services: ")
    For Each item As ListItem In chkempserv.Items
        If (item.Selected) Then
            sb.Append(item.Text)
            sb.Append(" ")
        End If
    Next
    sb.Append("<br/>Preferred Benefit Enrollment Program(s): ")
    For Each item As ListItem In chkenrolprog.Items
        If (item.Selected) Then
            sb.Append(item.Text)
            sb.Append(" ")
        End If
    Next
    sb.Append("<br/>Comments: ")
    sb.Append(txtcomments.Text)
    myMail.Body = sb.ToString()
    Try
        mySMTPClient.Send(myMail)
    Catch ex As Exception
        Dim ex2 As Exception = ex
        Dim errorMessage As String = String.Empty
        While Not (ex2 Is Nothing)
            errorMessage += ex2.ToString()
            ex2 = ex2.InnerException
        End While
        Response.Write(errorMessage)
    End Try
End Sub

Finalizar clase

El código cumple sin error. Cuando se carga en la cuenta de alojamiento compartido, la página se carga y el código permite al usuario ingresar información en el asistente. Sin embargo, el botón Finalizar no activa el paso final. Aquí está el código para el paso final del asistente:

<asp:WizardStep ID="WizardStep4" runat="server" StepType="Complete" Title="Complete">
        Thank you for your inquiry.  A member of our staff will contact you regarding your request.</asp:WizardStep>

No puedo determinar qué está solucionando este problema. ¿Alguien puede dirigirme sobre las posibles causas?

Gracias Sid

¿Fue útil?

Solución

¿Ha establecido puntos de interrupción dentro del código para ver si realmente se está alcanzando el código para enviar correo? Por ejemplo, sugeriría que establezca puntos de interrupción al menos en lo siguiente:

Para verificar que el evento FinishButtonClick se está activando.

Dim mySMTPClient As New SmtpClient()

Para verificar que el código de Sendmail está siendo golpeado.

mySMTPClient.Send(myMail)

Para ver si ocurre alguna excepción.

Dim ex2 As Exception = ex

Además, hay al menos un par de otras cosas a tener en cuenta.

  1. El servidor SMTP puede no estar configurado o configurado correctamente.

  2. Incluso si el servidor SMTP está configurado correctamente, desea asegurarse de que su firewall (o sus ISP) no bloqueen el envío de correo SMTP.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top