2016-05-10 2 views
0

У меня есть эта форма окна с помощью vb.net, где я вызываю хранимую процедуру sql и на основе введенного идентификатора параметра. Я получаю список результатов хранимой процедуры.Email Listview содержимое в Outlook с помощью переменной электронной почты

Теперь проблема заключается в том, что я не могу найти какую-либо информацию о том, как отправить эти результаты по электронной почте (в Outlook), где пользователь может ввести электронное письмо для отправки в текстовое поле на форме или как ссылаться результаты в списке.

Я думал о создании хранимой процедуры с переменной @email, где он выполняет «sp_GetDocs», и результаты отправляются переменной @email в процедуру, и я могу ввести эту переменную электронной почты, как я сделал предыдущий параметр в форма. Я все еще новичок в vb.net, поэтому я не уверен, что это дополнительная работа или если она вообще не работает. Может ли кто-нибудь указать мне в правильном направлении? Ниже приведен код vb.

Imports System.Data.SqlClient 
Public Class Form 
Dim stlCon As String = "my data source" 
Dim sqlCon As SqlConnection 
Dim table As New DataTable 
Dim PDF As New ListViewItem 
Private Sub Button1_Click() Handles Button1.Click 
    sqlCon = New SqlConnection(stlCon) 

    Using (sqlCon) 

     Dim sqlComm As New SqlCommand 


     sqlComm.Connection = sqlCon 


     sqlComm.CommandText = "sp_GetDocs" 
     sqlComm.CommandType = CommandType.StoredProcedure 

     sqlComm.Parameters.AddWithValue("@DOCID", Integer.Parse(TextBox1.Text.Trim())) 

     sqlCon.Open() 
     Dim sqlReader As SqlDataReader = sqlComm.ExecuteReader() 

     Using sqlReader 
      Dim table As New DataTable 
      table.Load(sqlReader) 

      ListView1.View = View.Details 
      ListView1.GridLines = True 
      ListView1.Columns.Add("PDF Name", 200, HorizontalAlignment.Left) 
      ListView1.Columns.Add("PDF Description", 200, HorizontalAlignment.Left) 
      ListView1.Columns.Add("PDF Location", 200, HorizontalAlignment.Left) 

      For Each row In table.Rows 

       Dim PDF As New ListViewItem 
       PDF.Text = row.Item(0) 
       PDF.SubItems.Add(row.item(1)) 
       PDF.SubItems.Add(row.item(2)) 

       For i = 1 To table.Columns.Count - 1 
        PDF.SubItems.Add(row(i).ToString(0)) 
        PDF.SubItems.Add(row(i).ToString(1)) 
        PDF.SubItems.Add(row(i).ToString(2)) 

       Next 
       ListView1.Items.Add(PDF) 
      Next 
       ListView1.EndUpdate() 

     End Using 

    End Using 
End Sub 

Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView1.SelectedIndexChanged 

End Sub 

Private Sub Email_Click(sender As Object, e As EventArgs) Handles Email.Click 

End Sub 
End Class 

Все это теперь выполнить sp_GetDocs и отображает результаты в виде списка, в настоящее время у меня есть кнопка и пустое текстовое поле в нижней части моей формы для этой электронной части.

+0

Вы смотрели в System.Net.Mail? Включите его в верхней части страницы, и он предоставляет все функции, необходимые для отправки электронной почты, - если я не понимаю, что вы хотите сделать. – Melanie

+0

@ Melanie Hi melanie спасибо за ответ? Я даже не уверен, как добавить функцию электронной почты, которую я искал, используя system.Net.Mail. Я мог бы ссылаться на результаты списка в первой частной части для части электронной почты? Я попробовал, и он сказал, что мне нужно объявить переменные, поэтому я переместил их в открытый класс, но я не уверен, как ссылаться на результаты списка –

ответ

0

Выяснил это! Для Microsoft 365 я использовал формат ниже

Попробуйте MailBody = ("тест")

 MailSubject = ("Test") 
     MailFrom = New MailAddress(TextBox2.Text) 
     MailTo = New MailAddress(TextBox3.Text) 

     Mail.From = MailFrom 
     Mail.To.Add(MailTo) 
     Mail.Subject = MailSubject 
     Mail.Body = MailBody 



     MailClient = New SmtpClient("smtp.office365.com") 
     MailClient.Port = 587 
     MailClient.EnableSsl = True 
     MailClient.Credentials = New System.Net.NetworkCredential(TextBox2.Text, "Password", "domain") 

     MailClient.Send(Mail) 
     MsgBox("Email Sent") 
    Catch ex As Exception 
     MsgBox("Error") 
    End Try 
Смежные вопросы