2013-09-02 10 views
0

Я понимаю, что этот вопрос возник до этого, но ответы не отвечают на мой вопрос напрямую, я также искал сеть в течение последних нескольких дней.Параметр '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> 

Благодарности куч заранее

ответ

2

Попробуйте использовать

EmailMsg.To.Add(New MailAddress("myemailaddress")) 

Я думаю, вам нужно добавить объекты MailAddress в свой список To. Я делаю в своем коде, и я не получаю никаких ошибок.

+0

Спасибо за ответ, я изменил мой код, чтобы отразить ваше предложение, однако он по-прежнему выдает сообщение об ошибке и отправляет сообщение – user2738402

+1

Вы отлаженный код для проверки значение 'emailTextBox.Text.ToString'? Если это недействительно, тогда это будет адрес From, который вызывает проблему (и, возможно, объяснит, почему сообщение по-прежнему попадает в пункт назначения, поскольку адрес «Адрес» не является проблемой). – DeanOC

0

.net несоответствие между локальным DEV и сервером производства

Смежные вопросы