#Region "属性"
'发件人Email地址
Private _sendEmailAddress As String = ""
Public Property sendEmailAddres() As String
Get
Return _sendEmailAddress
End Get
Set(ByVal value As String)
_sendEmailAddress = value
End Set
End Property
'收件人Email地址
Private _receiveEmailAddress As List(Of String)
Public Property ReceiveEmailAddress() As List(Of String)
Get
Return _receiveEmailAddress
End Get
Set(ByVal value As List(Of String))
_receiveEmailAddress = value
End Set
End Property
'Email内容
Private _emailContent As String = ""
Public Property EmailContent() As String
Get
Return _emailContent
End Get
Set(ByVal value As String)
_emailContent = value
End Set
End Property
'Email标题
Private _emailTitle As String = ""
Public Property EmailTitle() As String
Get
Return _emailTitle
End Get
Set(ByVal value As String)
_emailTitle = value
End Set
End Property
'Smtp服务地址
Private _smtpServer As String = Shyc.Configuration.GetConfigValue("SmtpServer")
Public ReadOnly Property SmtpServer() As String
Get
Return _smtpServer
End Get
End Property
'用户名称
Private _loginName As String = Shyc.Configuration.GetConfigValue("LoginName")
Public ReadOnly Property LoginName() As String
Get
Return _loginName
End Get
End Property
'密码
Private _loginPassword As String = Shyc.Configuration.GetConfigValue("LoginPassword")
Public ReadOnly Property LoginPassword() As String
Get
Return _loginPassword
End Get
End Property
'优先级
Private _intMailPriority As MailPriority = MailPriority.High
Public Property IntMailPriority() As MailPriority
Get
Return _intMailPriority
End Get
Set(ByVal value As MailPriority)
_intMailPriority = value
End Set
End Property
'附件
Private _accessories As List(Of String)
Public Property Accessories() As List(Of String)
Get
Return _accessories
End Get
Set(ByVal value As List(Of String))
_accessories = value
End Set
End Property
#End Region
#Region "发送Email"
Public Sub SendEmail()
Try
'实例化电子邮件类
Dim mail As New MailMessage
'设置发件人的电子邮件地址
mail.From = New MailAddress(_sendEmailAddress)
'收件人电子邮件地址列表
If Not IsNothing(_receiveEmailAddress) Then
For i As Integer = 0 To _receiveEmailAddress.Count - 1
mail.To.Add(New MailAddress(_receiveEmailAddress(i)))
Next
End If
'设置电子邮件正文的编码类型
mail.BodyEncoding = System.Text.Encoding.UTF8
'设置电子邮件的正文
mail.Body = _emailContent
'设置电子邮件的优先级
mail.Priority = _intMailPriority
'设置电子邮件标题
mail.Subject = _emailTitle
'指定随电子邮件一起传送的附件集合
If Not IsNothing(_accessories) Then
For i As Integer = 0 To _accessories.Count - 1
mail.Attachments.Add(New Attachment(Convert.ToString(_accessories(i)).Trim))
Next
End If
Dim mailClient As New System.Net.Mail.SmtpClient
'SmtpServer服务器地址
mailClient.Host = _smtpServer
mailClient.UseDefaultCredentials = False
'验证用户
mailClient.Credentials = New System.Net.NetworkCredential(_loginName, _loginPassword)
mailClient.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.Network
'发送电子邮件
mailClient.Send(mail)
Catch ex As Exception
Throw ex
End Try
End Sub
#End Region