2009-09-13 15 views
0

J'ai un contrôle ASP: Wizard sur un site exécutant Framework 3.5. J'ai acquis les paramètres de l'hôte Web et les ai entrés dans l'utilitaire de configuration Web. Voici le code derrière le fichier:ASP.net 3.5 Site Web Utilisation de ASP: Wizard Control et SMTPClient n'envoie pas de courrier électronique

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("[email protected]", "[email protected]") 
    Dim myFrom As New MailAddress("[email protected]") 
    Dim myTo As New MailAddress("[email protected]") 
    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

Le code est conforme à aucune erreur. Lorsqu'il est chargé sur le compte d'hébergement partagé, la page se charge et le code permet à l'utilisateur d'entrer des informations dans l'assistant. Cependant, le bouton Terminer ne déclenche pas l'étape finale. Voici le code pour l'étape finale de l'Assistant:

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

Je ne peux pas déterminer ce qui est cuasing cette question. Quelqu'un peut-il me diriger sur les causes possibles?

Merci, Sid

+0

Ceci n'est pas lié à la question, mais vous pouvez vous débarrasser de la variable 'myFrom' puisque vous ne l'utilisez même pas. –

Répondre

1

Avez-vous des points d'arrêt dans le code pour voir si le code pour envoyer du courrier est effectivement atteint? Par exemple, je suggère que vous définissiez des points d'arrêt au moins à ce qui suit:

Pour vérifier l'événement FinishButtonClick se déclenche.

Dim mySMTPClient As New SmtpClient() 

Pour vérifier que le code Sendmail est en cours d'exécution.

mySMTPClient.Send(myMail) 

Pour voir si une exception se produit.

Dim ex2 As Exception = ex 

De plus, il y a au moins quelques autres choses à surveiller.

  1. Le serveur SMTP peut ne pas être configuré ou correctement configuré.

  2. Même si le serveur SMTP est correctement configuré, vous devez vous assurer que votre pare-feu (ou vos FAI) ne bloque pas l'envoi de courrier SMTP.

+0

Il s'est avéré que j'ai reçu des paramètres SMTP incorrects de la part du technicien de support de l'hôte Web. Merci de votre aide!!! – SidC