2017-04-20 70 views
-1

發送電子郵件時,我遇到以下問題。我不明白爲什麼會發生這種錯誤。我無法複製錯誤,因此我添加了圖像。發送郵件時,對象引用未設置爲對象異常的實例

第一個錯誤:

enter image description here

二錯誤:

enter image description here

代碼:

Imports System.Net.Mail 
Public Class Form1 
    Private sendMail As MailMessage ' var for Mail 
    Private setSmtp As SmtpClient ' var for smrp 
    '====== Create mail Sender 
    Private Sub mailBox() 
     Try 
      sendMail.Subject = Trim(subjectTextBox.Text) ' Subject //1st error 
      sendMail.From = New MailAddress(Trim(fromTextBox.Text)) ' from 
      sendMail.To.Add(Trim(toTextBox.Text)) ' To 
      sendMail.IsBodyHtml = False ' if msg html 
      sendMail.Body = Trim(msgTextBox.Text) ' mail body 
      sendMail.Priority = MailPriority.Normal ' Priority kemn hobe 
     Catch ex As Exception 
      MsgBox(ex.ToString()) 
     End Try 
    End Sub 
    '====== Config smtp Server 
    Private Sub smtpServer() 
     Try 
      setSmtp.Credentials = New Net.NetworkCredential(Trim(fromTextBox.Text), "*******") '// 2nd error 
      setSmtp.EnableSsl = True 
      setSmtp.Host = "smtp.gmail.com" 
      setSmtp.Port = "587" 
     Catch ex As Exception 
      MsgBox(ex.ToString()) 
     End Try 
    End Sub 
    '====== Send Mail 
    Private Sub mailSender() 
     Try 
      setSmtp.Send(sendMail) ' send mail through created smtp //3rd error 
     Catch ex As Exception 
      MsgBox(ex.ToString()) 
     End Try 
    End Sub 
    '======== Send Mail By Button 
    Private Sub btnSendMail_Click(sender As Object, e As EventArgs) Handles btnSendMail.Click 
     ' ============= Send Mail =============== 
     mailBox() ' Call Created mail 
     smtpServer() ' Call Created smtp server 
     mailSender() ' Call the mailSender Sub 
    End Sub 
    ' ======= Discard Filed 
    Private Sub btnDiscard_Click(sender As Object, e As EventArgs) Handles btnDiscard.Click 
     subjectTextBox.Clear() 
     fromTextBox.Clear() 
     toTextBox.Clear() 
     msgTextBox.Clear() 
    End Sub 
End Class 
+0

,請複製粘貼此代碼。要進行格式化,請選擇代碼並點擊{}'符號 – Pikoh

+0

,點擊{}此符號並粘貼我的代碼,將其顯示爲純文本而沒有一行 –

+0

這次我已經爲您完成了,不用擔心。但這是相反的。首先粘貼代碼,然後選擇所有的代碼,一旦選擇,按#{012}# – Pikoh

回答

4

你得到一個空指針,因爲你不開始你的變量。如果變量沒有啓動,您不能更改變量的設置。換句話說,它在啓動之前不存在。

Private sendMail As New MailMessage ' var for Mail 
Private setSmtp As New SmtpClient ' var for smrp 

如果你還有問題,讓我知道

+1

@MuhammadImran你需要關鍵字'New'。這是不同之處,當你爲'sendMail'或'setSmtp'分配任何屬性時,不使用'New',它將失敗。 – Bugs

+0

謝謝!我現在明白了,問題解決了。 –

相關問題