⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 email.vb

📁 <Visual Basic 数据库开发实例精粹(第二版)>一书首先介绍了Visual Basic(简称VB)开发的技巧和重点技术
💻 VB
字号:
Imports System.Web.Mail

Public Class EMail
  Enum myMailFormat
    Text = 0
    HTML = 1
  End Enum

  Enum mySendMethod
    CDO = 0
    JMail = 1
  End Enum


  Public Shared Function SendMail( _
                               ByVal strTo As String, _
                               ByVal strSubject As String, _
                               ByVal strBody As String, _
                               Optional ByVal strFromName As String = "特瑞飞软件", _
                               Optional ByVal strFromEmail As String = "webmaster@trfsoft.com", _
                               Optional ByVal strMailAccount As String = "webmaster@trfsoft.com", _
                               Optional ByVal strMailPwd As String = "***", _
                               Optional ByVal strSMTPServer As String = "mail.trfsoft.com", _
                               Optional ByVal fmtBodyFormat As myMailFormat = myMailFormat.HTML, _
                               Optional ByVal smSendMethod As mySendMethod = mySendMethod.CDO) As Boolean


    'Return True
    Dim rt As Boolean

    If smSendMethod = mySendMethod.CDO Then
      rt = SendMailByCDO( _
                    strTo, _
                    strSubject, _
                    strBody, _
                    strFromName, _
                    strFromEmail, _
                    strMailAccount, _
                    strMailPwd, _
                    strSMTPServer, _
                    fmtBodyFormat)
    Else
      rt = SendMailByJMail( _
                    strTo, _
                    strSubject, _
                    strBody, _
                    strFromName, _
                    strFromEmail, _
                    strMailAccount, _
                    strMailPwd, _
                    strSMTPServer, _
                    fmtBodyFormat)
    End If

    Return rt

  End Function

  Public Shared Function SendMailByCDO( _
                              ByVal strTo As String, _
                              ByVal strSubject As String, _
                              ByVal strBody As String, _
                              Optional ByVal strFromName As String = "特瑞飞软件", _
                              Optional ByVal strFromEmail As String = "webmaster@trfsoft.com", _
                              Optional ByVal strMailAccount As String = "webmaster@trfsoft.com", _
                              Optional ByVal strMailPwd As String = "***", _
                              Optional ByVal strSMTPServer As String = "mail.trfsoft.com", _
                              Optional ByVal fmtBodyFormat As myMailFormat = myMailFormat.HTML) As Boolean

    Dim strFrom As String

    strFrom = strFromName & "<" & strFromEmail & ">"

    Try
      Dim Message As New MailMessage

      SmtpMail.SmtpServer = strSMTPServer
      Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")     'basic authentication 
      Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", strMailAccount) 'set your username here 
      Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", strMailPwd) 'set your password here 

      If fmtBodyFormat = myMailFormat.HTML Then
        Message.BodyFormat = System.Web.Mail.MailFormat.Html
      Else
        Message.BodyFormat = System.Web.Mail.MailFormat.Text
      End If
      Message.BodyFormat = fmtBodyFormat
      Message.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312")
      Message.To = strTo
      Message.From = strFrom
      Message.Subject = strSubject
      Message.Body = strBody

      SmtpMail.Send(Message)
    Catch ex As Exception
      Dim ErrMsg As String = ex.Message
    End Try

    Return True

  End Function

  Public Shared Function SendMailByJMail( _
                             ByVal strTo As String, _
                             ByVal strSubject As String, _
                             ByVal strBody As String, _
                             Optional ByVal strFromName As String = "特瑞飞软件", _
                             Optional ByVal strFromEmail As String = "webmaster@trfsoft.com", _
                             Optional ByVal strMailAccount As String = "webmaster@trfsoft.com", _
                             Optional ByVal strMailPwd As String = "***", _
                             Optional ByVal strSMTPServer As String = "mail.trfsoft.com", _
                             Optional ByVal fmtBodyFormat As myMailFormat = myMailFormat.HTML) As Boolean

    Dim strFrom As String
    Dim rt As Boolean

    strFrom = strFromName & "<" & strFromEmail & ">"

    Try
      Dim Jmail As New Jmail43.MessageClass


      'Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
      Jmail.Silent = True
      'Jmail创建的日志,前提loging属性设置为true
      Jmail.Logging = True
      '字符集,缺省为"US-ASCII"
      Jmail.Charset = "GB2312"
      '信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
      If fmtBodyFormat = myMailFormat.HTML Then
        Jmail.ContentType = "text/html"
      Else
        Jmail.ContentType = "text/plain"
      End If
      '添加收件人
      Jmail.AddRecipient(strTo, "", "")
      Jmail.From = strFromEmail
      Jmail.FromName = strFromName
      '发件人邮件用户名
      Jmail.MailServerUserName = strMailAccount
      '发件人邮件密码
      Jmail.MailServerPassWord = strMailPwd
      '设置邮件标题
      Jmail.Subject = strSubject
      '邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
      'Jmail.AddAttachment("c:\\test.jpg", True, null)
      '邮件内容
      Jmail.Body = strBody
      'Jmail发送的方法
      rt = Jmail.Send("mail.trfsoft.com", False)
      Jmail.Close()

    Catch ex As Exception
      Dim ErrMsg As String = ex.Message
    End Try

    Return rt

  End Function

End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -