VB.net学习笔记之发送邮件:System.Net.Mail

来源:互联网 发布:网络灰色项目一天一万 编辑:程序博客网 时间:2024/05/17 08:57

学习了VB.net如何发送邮件的方法,为了防止忘记,记下来~

    Imports System.Net.Mail    Imports System.IO    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click                SenderName = TextBox5.Text        SenderSMTP = TextBox6.Text    '需要使用的SMTP服务器        SenderPW = TextBox7.Text      '发送邮件的邮箱的密码        Senders = SenderName & "@" & SenderSMTP & ComboBox1.Text   '完整的邮箱地址比如example@126.com        Reciver = TextBox1.Text       '接收者邮箱        SubTitle = TextBox2.Text      '邮件标题        Acticle = TextBox3.Text       '邮件正文        Path = TextBox4.Text          '附件地址        If Reciver = "" Then            MsgBox("没有输入收件人!", vbOKOnly + vbInformation, "错误")            Exit Sub        End If        If SenderName = "" Then            MsgBox("没有输入发件人!", vbOKOnly + vbInformation, "错误")            Exit Sub        End If        If SenderSMTP = "" Then            MsgBox("没有指定SMTP服务器!", vbOKOnly + vbInformation, "错误")            Exit Sub        End If        If SenderPW = "" Then            MsgBox("没有输入密码!", vbOKOnly + vbInformation, "错误")            Exit Sub        End If        Dim client As SmtpClient = New SmtpClient        client.Host = "smtp." & SenderSMTP & ".com"            '设置客户端邮箱地址        client.UseDefaultCredentials = False                           client.Credentials = New System.Net.NetworkCredential(SenderName, SenderPW)  '设置发送人用户名密码        client.DeliveryMethod = SmtpDeliveryMethod.Network        Try            Dim message As MailMessage = New MailMessage(Senders, Reciver)  '新建一个邮件信息            message.Subject = SubTitle   '设置标题            message.IsBodyHtml = True    '设置格式            message.Body = Acticle       '设置正文内容            If Path <> "" Then                Dim data As Attachment = New Attachment(Path)   '设置附件,如果有附件则添加到邮件中                message.Attachments.Add(data)            End If            Me.Text = "发送中……"                client.Send(message)    '发送邮件                Threading.Thread.Sleep(1000)                MsgBox("发送成功!", vbOKOnly + vbInformation, "成功")            MsgBox("发送成功!", vbOKOnly + vbInformation, "成功")            Me.Text = "邮件速发器"        Catch ex As FileNotFoundException       '捕捉各种异常并且处理            MsgBox("找不到文件" & Path & ",请确定路径是否正确!", vbOKOnly + vbInformation, "错误")        Catch ex As SmtpFailedRecipientException            MsgBox("查无此人!", vbOKOnly + vbInformation, "错误")        Catch ex As FormatException            MsgBox("邮件地址格式不正确!", vbOKOnly + vbInformation, "错误")        Catch ex As SmtpException            If Strings.Left(ex.Message, 9) = "不允许使用邮箱名称" Then                MsgBox("用户名或密码错误!", vbOKOnly + vbInformation, "错误")            Else                MsgBox("发送邮件失败!错误可能是:" & vbCrLf & "1.指定发送方的邮箱的SMTP没有开启;(如QQ邮箱,可以手动设置开启)" & vbCrLf & "2.用户名或密码错误!", vbOKOnly + vbInformation, "错误")            End If        End Try    End Sub


0 0