Frage

Ich habe ein Asp: Wizard-Steuerelement auf einer Website ausgeführt wird Framework 3.5. Ich erwarb die Einstellungen des Web-Host und haben sie in die Web-Konfigurationsprogramm eingegeben. Hier ist der Code hinter Datei:

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

End Class

Der Code entspricht ohne Fehler. Wenn auf das Shared-Hosting-Konto geladen, ermöglicht die Seite geladen wird und der Code der Benutzerinformationen in den Assistenten eingeben. Allerdings ist die Schaltfläche Fertig stellen nicht den letzten Schritt abzufeuern. Hier ist der Code für den letzten Schritt des Assistenten:

<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>

Ich kann nicht feststellen, was dieses Problem ist cuasing. Kann mir jemand auf mögliche Ursachen lenken?

Danke, Sid

War es hilfreich?

Lösung

Haben Sie Haltepunkte im Code festgelegt, um zu sehen, ob der Code E-Mail senden tatsächlich erreicht werden? Zum Beispiel würde ich vorschlagen, dass Sie Breakpoints setzen zumindest auf der folgenden:

Um zu überprüfen, das FinishButtonClick Ereignis feuert.

Dim mySMTPClient As New SmtpClient()

Um zu überprüfen, der Sendmail-Code getroffen wird.

mySMTPClient.Send(myMail)

Um zu sehen, ob eine Ausnahme auftritt.

Dim ex2 As Exception = ex

Auch gibt zumindest ein paar andere Dinge zu achten ist.

  1. Der SMTP-Server nicht konfiguriert werden kann, oder richtig konfiguriert ist.

  2. Auch wenn der SMTP-Server richtig konfiguriert ist, können Sie sicher, dass Ihre Firewall machen wollen (oder Ihre ISPs) blockiert nicht das Senden von SMTP-Mail.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top