Веб-сайт ASP.net 3.5, использующий ASP:Wizard Control и SMTPClient, не отправляет электронную почту
-
07-07-2019 - |
Вопрос
У меня есть элемент управления asp:Wizard на сайте, на котором работает Framework 3.5.Я получил настройки от веб-хостинга и ввел их в утилиту веб-конфигурации.Вот код файла:
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>
Я не могу определить, что является причиной этой проблемы.Может ли кто-нибудь указать мне возможные причины?
Спасибо, Сид
Решение
Установлены ли вы точки останова в коде, чтобы увидеть, действительно ли достигается код для отправки почты?Например, я бы посоветовал вам установить точки останова как минимум на следующем:
Чтобы убедиться, что событие FinishButtonClick срабатывает.
Dim mySMTPClient As New SmtpClient()
Чтобы убедиться, что код Sendmail используется.
mySMTPClient.Send(myMail)
Чтобы увидеть, происходит ли какое-либо исключение.
Dim ex2 As Exception = ex
Кроме того, есть как минимум еще пара вещей, на которые стоит обратить внимание.
Возможно, SMTP-сервер не настроен или настроен неправильно.
Даже если SMTP-сервер настроен правильно, вы должны убедиться, что ваш брандмауэр (или ваши интернет-провайдеры) не блокируют отправку почты SMTP.