发送电子邮件VB.NET时未将对象引用设置为对象的实例

发送电子邮件VB.NET时未将对象引用设置为对象的实例,vb.net,Vb.net,我想创建一个电子邮件应用程序 我使用了新的关键字,但问题仍然存在 Imports System.Net.Mail Public Class Form1 Private myMsg As MailMessage Private smtpSender As SmtpClient Private Sub CreateMessage() myMsg.From = New MailAddress(txtForm.Text.Trim) myMsg.To.Add(txtTo

我想创建一个电子邮件应用程序

我使用了新的关键字,但问题仍然存在

Imports System.Net.Mail
Public Class Form1
  Private myMsg As MailMessage
  Private smtpSender As SmtpClient
  Private Sub CreateMessage()
      myMsg.From = New MailAddress(txtForm.Text.Trim)
      myMsg.To.Add(txtTo.Text.Trim)
      myMsg.Subject = txtSubject.Text
      myMsg.Body = txtBody.Text
      myMsg.Priority = MailPriority.Normal
  End Sub
  Private Sub createSmtp()
      smtpSender.Credentials = New Net.NetworkCredential(txtForm.Text.Trim, txtPass.Text.Trim)
      smtpSender.EnableSsl = True
      smtpSender.Host = "smtp.live.com"
      smtpSender.Port = "587"
  End Sub
  Private Sub sendMessage()
      Try
          smtpSender.Send(myMsg)
      Catch ex As Exception
          MessageBox.Show(ex.ToString())
      End Try
  End Sub
  Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click
      CreateMessage()
      createSmtp()
      sendMessage()
  End Sub

  Private Sub btnResetField_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnResetField.Click
      txtBody.Clear()
      txtForm.Clear()
      txtPass.Clear()
      txtSubject.Clear()
      txtTo.Clear()
  End Sub
End Class

此行出错:
myMsg.From=新邮件地址(txtForm.Text.Trim)

此行不完整:
Private myMsg As MailMessage

它被声明为变量,但从未被实例化为新对象

应该是:

 Private myMsg As New MailMessage
 Private smtpSender As New SmtpClient

我更新了您的更正,但这里仍然存在错误:smtpSender.Credentials=New Net.NetworkCredential(txtForm.Text.Trim,txtppass.Text.Trim)可能与@AbuMus'abAuna重复。在堆栈溢出时,感谢人们的方法是接受他们的答案。您可以通过单击答案左侧的复选标记(勾选标记)来完成此操作。