麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > ASP > 正文

簡單快捷實現ASP在線發郵件功能

2024-05-04 11:07:47
字體:
來源:轉載
供稿:網友

在編寫網上應用程序時,經常碰到需要在線發送郵件的問題,郵件內容是由程序動態決定的,如果你采用的是ASP方式來編寫網上應用程序,如何簡單、快捷地實現這一功能呢? 

  筆者在實踐中利用ASP的com組件功能,在vb中實現了一個發郵件的小組件,在ASP中只通過輕松調用,就可以實現該功能。所有郵件處理機制都被封裝在這個組件中,使用起來極為方便。下面將詳細介紹該組件的基本開發原理以及在ASP中的應用。 

  1. 利用Winsock控件與發送郵件的smtp聯系 

  和smtp的聯系包括握手、發送數據以及關閉等全過程,主要程序如下: 

  建立一個frmsendmail 的窗體,其中包含一個winsock控件,有以下幾個公共變量: 

  public mstmp as string 

  //發送郵件的stmp 

  public mfrom as string 

  //from 地址 

  public mto as string 

  //到達地址 

  public msubject as string 

  //郵件主題 

  public mtext as string 

  //郵件正文 

  sock.connect mstmp, 25 

  //和發送郵件的stmp建立聯系 

  private sub sock_connect() 

  sflag = sfconn 

  //連接成功后設置參數 

  end sub 

  private sub sock_dataarrival(byval bytestotal as long) 

  on error goto daerr 

  dim s as string 

  sock.getdata s 

  select case sflag 

  case sfstart 

  case sfconn 

  sflag = sfhelo 

  //發出握手信息hello 
  send "helo " && mmyname 

  case sfhelo 

  sflag = sffrom 

  send "mail from:" && getreal(mfrom) 

  case sffrom 

  if left(s, 3) 〈〉 "250" then goto srverr 

  //如果成功發送接收郵件地址 

  sflag = sfrcpt 

  send "rcpt to:" && getreal(mto) 

  case sfrcpt 

  if left(s, 3) 〈〉 "250" then goto srverr 

  //如果成功開始發送數據 

  sflag = sfdata 

  send "data" 

  case sfdata 

  if left(s, 3) 〈〉 "354" then goto srverr 

  sflag = sfsendover //數據包括4項,最后以 . 結束 

  send "from: " && mfrom 

  send "to: " && mto 

  send "subject: " && msubject && vbcrlf 

  send mtext 

  send "." 

  case sfsendover 

  if left(s, 3) 〈〉 "250" then goto srverr 

  sflag = sfstart 

  sendok = true 

  send "quit" 

  end select 

  exit sub 

  end sub 
  2. 將上述功能封裝在一個類中 

  由于ASP能使用的組件中不能存在控件,所以要通過類模塊來封裝上述窗體。首先在類初始化時建立一窗體: 

  private sub class_initialize() 

  set frm = new frmsendmail 

  end sub 

  把窗體的公共變量作為屬性封裝在類模塊中。 

  該窗體的函數接口為: 

  public sub send() 

  frm.sendstart 

  end sub 

  3. 注冊該組件 

  將上述工程編譯成dll文件,通過vb注冊或手工注冊都可以。 

  4. 在ASP中的應用 

  調用方法如下: 

  set smail=server.createobject("sendmailx.mail") 

  smail.stmp="166.166.1.1" 

  smail.logfile="e:/logs/mail.log" 

  smail.mfrom = mfromname && " 〈" && mfromaddr && "〉" 

  smail.mto = mtoname && " 〈" && mtoaddr && "〉" 

  smail.msubject = msubject 

  smail.mtext = mtext 

  smail.send 

  其中變量可以通過賦值,也可以來自上一個request頁面。   

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美wwwsss9999| 在线 日本 制服 中文 欧美 | 激情午夜天 | 成人毛片免费在线 | xxnxx中国18| 欧美精品欧美 | 大逼逼影院 | 蜜桃久久一区二区三区 | 久久国产精品系列 | 国产精品久久久久久久成人午夜 | 欧美特级黄色 | 亚洲成人网一区 | 综合日韩av | 久久不射电影 | 欧美成人精品一区二区男人小说 | 91九色蝌蚪国产 | 天天色人人爱 | 欧美亚洲免费 | 4p嗯啊巨肉寝室调教男男视频 | 免费看一级片 | 末成年女av片一区二区 | 欧美精品一区二区三区在线 | 欧美大片一级毛片 | 亚洲成人福利在线观看 | 久久久久久中文字幕 | 欧美福利视频一区二区三区 | a一级黄色大片 | 国产91丝袜在线播放0 | 欧美1区2区在线观看 | 91网视频在线观看 | www.91pron| 国产美女精品视频 | 精品国产91久久久久久浪潮蜜月 | 一边吃奶一边插下面 | 久久久入口 | 色999国产 | 视频一区二区久久 | 97青青| 国产精品视频海角社区88 | 大学生一级毛片在线视频 | 国产妇女乱码一区二区三区 |