Я понимаю, что этот вопрос возник до этого, но ответы не отвечают на мой вопрос напрямую, я также искал сеть в течение последних нескольких дней.Параметр 'address' не может быть пустой строкой. Имя параметра: адрес
Проблема заключается в том, что у меня есть форма VB формы asp.net, которая отправляется по электронной почте .. Однако она возникает с ошибкой «Параметр« адрес »не может быть пустой строкой. Имя параметра: адрес«, когда Я нажимаю «Отправить». Но странно, что он по-прежнему отправляет электронную почту через всю соответствующую информацию.
У кого-нибудь есть идеи относительно того, почему он дает сообщение об ошибке, но все еще отправляет? Я чувствую, что это что-то простое, но он делает мою голову! Дайте мне знать, если вам нужны другие фрагменты кода.
Код За:
Imports System.IO
Imports System.Net
Imports System.Net.Mail
Partial Class _default
Inherits System.Web.UI.Page
Protected Sub submitButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles submitButton.Click
'send new confirmation email
Try
'create the email message
Dim EmailMsg As New MailMessage()
'set the address and subject
EmailMsg.From = New MailAddress(emailTextBox.Text.ToString)
EmailMsg.To.Add("myemailaddress")
EmailMsg.Subject = "Website enquiry from " + firstnameTextBox.Text.ToString
'set the content
EmailMsg.Body = "First Name: " + firstnameTextBox.Text.ToString + "<br>" +
"Last Name: " + lastnameTextBox.Text.ToString + "<br>" +
"Reply to: " + emailTextBox.Text.ToString + "<br>" +
"Ph No.: " + phoneTextBox.Text.ToString + "<br>" +
"Dropdown value:" + DropDownList1.SelectedValue + "<br>" +
"Website Address: " + webAddressTextBox.Text.ToString + "<br>" +
"Other option: " + otherTextBox.Text.ToString
EmailMsg.IsBodyHtml = True
'send the message
Dim smtp As New SmtpClient()
smtp.Send(EmailMsg) 'uses web.config settings
'if successful clear form and show success message
firstnameTextBox.Text = String.Empty
lastnameTextBox.Text = String.Empty
emailTextBox.Text = String.Empty
phoneTextBox.Text = String.Empty
DropDownList1.SelectedValue = Val("0")
webAddressTextBox.Text = String.Empty
otherTextBox.Text = String.Empty
lblMessage.Text = "Message sent successfully!"
Catch ex As Exception
'show error message if unsuccessful
lblMessage.Text = ex.Message
End Try
End Sub
End Class
Web.config:
<configuration>
<system.net>
<mailSettings>
<smtp>
<network host="server"
port="25"
userName="myemailaddress"
password="mypassword"/>
</smtp>
</mailSettings>
Благодарности куч заранее
Спасибо за ответ, я изменил мой код, чтобы отразить ваше предложение, однако он по-прежнему выдает сообщение об ошибке и отправляет сообщение – user2738402
Вы отлаженный код для проверки значение 'emailTextBox.Text.ToString'? Если это недействительно, тогда это будет адрес From, который вызывает проблему (и, возможно, объяснит, почему сообщение по-прежнему попадает в пункт назначения, поскольку адрес «Адрес» не является проблемой). – DeanOC