2014-07-24 46 views
0

我想創建一個發送電子郵件應用程序,並發現一些錯誤。電子郵件將使用gridview中的複選框發送給特定的收件人。 的條件是:錯誤發送電子郵件:在郵件標題中找到無效字符:';'

如果coulmn 16電子郵件不爲空,然後將電子郵件直接發送。 - >這已經工作

如果第16列中的電子郵件爲空,那麼電子郵件將發送給第17列中的收件人。 - >它在這部分中引發錯誤。

這裏是我發送郵件代碼:

Dim X As Integer 
    For X = 0 To GridView1.Rows.Count - 1 
     Dim chkBox As CheckBox = CType(GridView1.Rows(X).Cells(18).Controls(1), CheckBox) 
     If chkBox.Checked = True Then 
Dim email2 As String 
      If GridView1.Rows(X).Cells(16).Text <> "" Then 
       email2 = Trim(GridView1.Rows(X).Cells(16).Text) 
      Else 
       email2 = Trim(GridView1.Rows(X).Cells(17).Text) 
      End If 
      Try 
       Dim EmailMessage As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage 
       EmailMessage.From = New MailAddress("mailaddress.bla.com") 
       EmailMessage.To.Add(email2) 
       EmailMessage.Subject = "Attire Request" 
       EmailMessage.IsBodyHtml = True 
       Dim link As String = "some link" 
       EmailMessage.Body = "Please login by Using this link <a href=""" & link & """>Click here </a>" 

       Dim smtp As New SmtpClient(Server2) 
       Dim basicAuthenticationInfo As New System.Net.NetworkCredential(Username2, Password2) 
       smtp.Credentials = basicAuthenticationInfo 
       smtp.Send(EmailMessage) 

      Catch ex As Exception 
       ' lblError.Text = lblError.Text & ex.Message & " " & ex.InnerException.ToString 
       lblError.Text = ex.Message 
       lblError.Visible = True 
      End Try 

它拋出一個錯誤:一個無效字符在郵件標題中找到:「;」。 你有什麼建議如何解決這個問題。 編輯:代碼循環

感謝進步。

+0

選擇多行同時調試是什麼'email2'的價值? – PawanS

+0

我認爲這是由於'GridView1.Rows(X).Cells(17).Text'中的輸入錯誤發生的,請檢查字段值以進行確認。 – Suji

+0

@PawanS它顯示昏暗的電子郵件作爲字符串... –

回答

1

改變你的if-else語句如下:

If GridView1.Rows(x).Cells(16).Value.ToString <> "" Then 
email2 = Trim(GridView1.Rows(x).Cells(16).Value.ToString) 
Else 
email2 = Trim(GridView1.Rows(x).Cells(17).Value.ToString) 
End If 

注: - 該行是在X的值的基礎選擇;迴路可用於單一的點擊

Screen shot of my execution of the above code

+0

錯誤...沒有.value .tostring屬性... –

+0

您正在使用C#或vb.net?它是vb.net的代碼 – Suji

+0

我正在使用vb.net ... –