ASP.NET 3.5 웹 사이트 ASP : Wizard Control 및 SMTPClient는 이메일을 보내지 않습니다.

StackOverflow https://stackoverflow.com/questions/1418820

문제

사이트 실행 프레임 워크 3.5에 ASP : Wizard Control이 있습니다. 웹 호스트에서 설정을 획득하여 웹 구성 유틸리티에 입력했습니다. 파일 뒤에있는 코드는 다음과 같습니다.

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

수업 종료

코드는 오류없이 준수합니다. 공유 호스팅 계정에로드되면 페이지로드 및 코드를 사용하면 사용자가 마법사에 정보를 입력 할 수 있습니다. 그러나 마무리 버튼은 최종 단계를 시작하지 않습니다. 최종 마법사 단계의 코드는 다음과 같습니다.

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

이 문제를 촉진하는 것이 무엇인지 판단 할 수 없습니다. 누군가가 가능한 원인에 대해 나를 지시 할 수 있습니까?

감사합니다, Sid

도움이 되었습니까?

해결책

코드 내에서 브레이크 포인트를 설정하여 메일을 보내는 코드에 실제로 도달했는지 확인 했습니까? 예를 들어, 적어도 다음에서 중단 점을 설정하는 것이 좋습니다.

finishbuttonclick 이벤트가 발사되고 있는지 확인하십시오.

Dim mySMTPClient As New SmtpClient()

Sendmail 코드가 확인 중입니다.

mySMTPClient.Send(myMail)

예외가 발생하는지 확인합니다.

Dim ex2 As Exception = ex

또한, 적어도 몇 가지 다른 것들이 있습니다.

  1. SMTP 서버를 구성하거나 올바르게 구성 할 수 없습니다.

  2. SMTP 서버가 올바르게 구성되어 있더라도 방화벽 (또는 ISP)이 SMTP 메일 전송을 차단하지 않도록하려고합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top