您的位置:首页 > 编程语言 > VB

vb.net发送邮件

2016-10-25 17:47 113 查看
''' <summary>  
        ''' 通过SmtpClient类发送电子邮件  
        ''' </summary>  
        ''' <param name="ReceiveAddressList">收件人地址列表</param>  
        ''' <param name="Subject">邮件主题</param>  
        ''' <param name="Content">邮件内容</param>  
        ''' <param name="AttachFile">附件列表Hastable。KEY=文件名,Value文件路径</param>  
        Private Function SendMail(ByVal ReceiveAddressList As List(Of String), ByVal Subject As String, ByVal Content As String, _  
                                  Optional ByVal AttachFile As Hashtable = Nothing) As Boolean  
            Dim i As Integer  
            'SMTP客户端  
            Dim smtp As New System.Net.Mail.SmtpClient("SMTP.163.COM")  
            'smtp.Host = "smtp.163.com"       'SMTP服务器名称  
            '发件人邮箱身份验证凭证。 参数分别为 发件邮箱登录名和密码  
            smtp.Credentials = New System.Net.NetworkCredential("邮箱账户", "邮箱密码")  
            '创建邮件  
            Dim mail As New System.Net.Mail.MailMessage()  
            '主题编码  
            mail.SubjectEncoding = System.Text.Encoding.GetEncoding("GB2312")  
            '正文编码  
            mail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312")  
            '邮件优先级  
            mail.Priority = System.Net.Mail.MailPriority.Normal  
            '以HTML格式发送邮件,为false则发送纯文本邮箱  
            mail.IsBodyHtml = True  
            '发件人邮箱  
            mail.From = New System.Net.Mail.MailAddress("发件人邮箱")  
  
            '添加收件人,如果有多个,可以多次添加  
            If ReceiveAddressList.Count = 0 Then Return False  
            For i = 0 To ReceiveAddressList.Count - 1  
                mail.To.Add(ReceiveAddressList.Item(i))  
            Next  
  
            '邮件主题和内容  
            mail.Subject = Subject  
            mail.Body = Content  
  
            '定义附件,参数为附件文件名,包含路径,推荐使用绝对路径  
            If Not AttachFile Is Nothing AndAlso AttachFile.Count <> 0 Then  
                For Each sKey As String In AttachFile.Keys  
                    Dim objFile As New System.Net.Mail.Attachment(AttachFile.Item(sKey))  
                    '附件文件名,用于收件人收到附件时显示的名称  
                    objFile.Name = sKey  
                    '加入附件,可以多次添加  
                    mail.Attachments.Add(objFile)  
                Next  
            End If  
  
            '发送邮件  
            Try  
                smtp.Send(mail)  
                MessageBox.Show("邮件发送成功!")  
                Return True  
            Catch  
                MessageBox.Show("邮件发送失败!")  
                Return False  
            Finally  
                mail.Dispose()  
            End Try  
        End Function  
转自:http://blog.csdn.net/pashine/article/details/18048487
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: