asp JMail CDONTS 發送郵件類

來源:互聯網
上載者:User

'-----------------------------------------------------------------------
'--- 設定項
'-----------------------------------------------------------------------
'--- smtps教程erver  設定smtp郵件伺服器地址
'--- fromemail  設定寄件者的e-mail地址
'--- fromname  設定發送人名稱
'--- contenttype 設定郵件類型 預設:text/html
'--- charset  設定編碼類別型 預設:gb2312
'--- sendobject  設定選取組件 1=jmail,2=cdonts
'-----------------------------------------------------------------------
'--- 屬性
'-----------------------------------------------------------------------
'--- sendmail email, topic, mailbody 收件者地址,標題,郵件內容
'-----------------------------------------------------------------------
'--- 擷取資訊
'-----------------------------------------------------------------------
'--- errcode   資訊編號 0=正常
'--- description  相應操作資訊
'--- count    發送郵件數
'-----------------------------------------------------------------------
class lyout_mail
 public count,errcode,errmsg
 public username,password,fromemail,fromname
 public smtpserver,contenttype,charset
 private obj,cdoconfig,object

 private sub class_initialize()
  object = 0
  count = 0
  errcode = 0
  contenttype = "text/html"
  charset = "gb2312"
 end sub

 private sub class_terminate()
  if isobject(obj) then
   set obj = nothing
  end if
  if isobject(cdoconfig) then
   set cdoconfig = nothing
  end if
 end sub
 '擷取錯誤資訊
 public property get description()
  description = errmsg
 end property
 '設定選取組件 sendobject 0=jmail,1=cdonts,2=aspemail
 public property let sendobject(byval value)
  object = value
  on error resume next
  select case object
   case 1
    set obj = server.createobject("jmail.message")
   case 2
    set obj = server.createobject("cdonts.newmail")
   case else
    errnumber = 2
  end select
  if err<>0 then
   errnumber = 3
  end if
 end property

 private property let errnumber(byval value)
  errcode = value
  errmsg = errmsg & msg
 end property
 private function msg()
  dim msgvalue
  select case errcode
  case 1
   msgvalue = "未選取郵件組件或伺服器不支援該組件!"
  case 2
   msgvalue = "所選的組件不存在!"
  case 3
   msgvalue = "錯誤:伺服器不支援該組件!"
  case 4
   msgvalue = "發送失敗!"
  case else
   msgvalue = "正常。"
  end select
  msg = msgvalue
 end function

 public sub sendmail(byval email,byval topic,byval mailbody)
  if errcode <> 0 then
   exit sub
  end if
  if email="" or isnull(email) then exit sub
  if object>0 then
   select case object
    case 1
     jmail email,topic,mailbody
    case 2
     cdonts email,topic,mailbody
    case else
     errnumber = 2
   end select
  else
   errnumber = 1
  end if
 end sub

 private sub jmail(email,topic,mailbody)
  on error resume next
  obj.silent = true
  obj.logging = true
  obj.charset = charset
  if not(username = "" or password = "") then
   obj.mailserverusername = username '您的郵件伺服器登入名稱
   obj.mailserverpassword = password '登入密碼
  end if
  obj.contenttype = contenttype
  obj.priority = 1
  obj.from = fromemail
  obj.fromname = fromname
  obj.addrecipient email
  obj.subject = topic
  obj.body = mailbody
  if err<>0 then
   errmsg = errmsg & "發送失敗!原因:" & err.description
   errnumber = 4
  else
   if obj.send (smtpserver) then
    obj.clearrecipients()
    if err<>0 then
     errmsg = errmsg & "發送失敗!原因:" & err.description
     errnumber = 4
    else
     count = count + 1
     errmsg = errmsg & "發送成功!"
    end if
   else
    errmsg = errmsg & "發送失敗!原因:"&obj.log
    errnumber = 4
   end if
  end if
 end sub
  
 private sub cdonts(email,topic,mailbody)
  on error resume next
  obj.from = fromemail
  obj.to = email
  obj.subject = topic
  obj.bodyformat = 0
  obj.mailformat = 0
  obj.body = mailbody
  if err<>0 then
   errmsg = errmsg & "發送失敗!原因:" & err.description
   errnumber = 4
  else
   obj.send
   if err<>0 then
    errmsg = errmsg & "發送失敗!原因:" & err.description
    errnumber = 4
   else
    count = count + 1
    errmsg = errmsg & "發送成功!"
   end if
  end if
 end sub
end class
%>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.