ASP用JMail、CDO傳送郵件 (轉)

themoney發表於2007-09-15
ASP用JMail、CDO傳送郵件 (轉)[@more@]

  前一段時間有發過一個簡單的J發郵件的程式碼,今天就把這個程式碼做一個具體的註解,並增加了另外兩個格式的程式碼,並舉幾個簡單的例子:
首先是.smtpmail的核心程式碼:

  Set jmail = Server.Create("JMAIL.SMTPMail")  '建立一個JMAIL
  jmail.silent = true  'JMAIL不會丟擲例外錯誤,返回的值為FALSE跟TRUE
  jmail.logging = true  '啟用使用日誌
  jmail.Charset = "GB2312"  '郵件文字的程式碼為簡體中文
  jmail.ContentType = "text/html"  '郵件的格式為HTML的
  jmail.ServerAddress = "Server Address"  '傳送郵件的
  jmail.AddRecipient   '郵件的收件人
  jmail.SenderName = "SenderName"  '郵件傳送者的姓名
  jmail.Sender = "Email Address"  '郵件傳送者的郵件地址
  jmail.Priority = 1  '郵件的緊急,1 為最快,5 為最慢, 3 為預設值
  jmail.Subject = "Mail Subject"  '郵件的標題
  jmail.Body = "Mail Body"  '郵件的內容
  jmail.AddRecipientBCC Email  '密件收件人的地址
  jmail.AddRecipientCC Email  '郵件抄送者的地址
  jmail.Execute()  '郵件傳送
  jmail.Close  '關閉郵件物件
%>

  w3 Jmail4.3重新設計了其內部結構——使用Message物件代替原來的單一物件Jmail.smtpmail傳送郵件,有些方法需要身份驗證的(如163、等),可以用下面的方法解決:
  Set jmail = Server.CreateObject("JMAIL.Message")  '建立傳送郵件的物件
  jmail.silent = true  '遮蔽例外錯誤,返回FALSE跟TRUE兩值j
  mail.logging = true  '啟用郵件日誌
  jmail.Charset = "GB2312"  '郵件的文字編碼為國標
  jmail.ContentType = "text/html"  '郵件的格式為HTML格式
  jmail.AddRecipient Email  '郵件收件人的地址
  jmail.From = "Email From for Sender"  '發件人的地址
  jmail.MailServerUserName = "UserName of Email"  '登入所需的名
  jmail.MailServerPass = "Password of Email"  '登入郵件伺服器所需的密碼
  jmail.Subject = "Mail Subject"  '郵件的標題
  jmail.Body = "Mail Body"  '郵件的內容
  jmail.Prority = 1  '郵件的緊急程式,1 為最快,5 為最慢, 3 為預設值
  jmail.Send("Server Address")  '執行郵件傳送(透過郵件伺服器地址)
  jmail.Close()  '關閉物件
%>

  再講一下自帶的CDONTS元件的發信的方法:

  Set cail = Server.CreateObject("CDONTS.NewMail")  '建立郵件物件
  cdomail.Subject = "Mail Subject"  '郵件標題
  cdomail.From = "Sender's Mail"  '發件人的地址
  cdomail.To = "Email will from"  '收件人的地址
  cdomail.Body = "Mail Body"  '郵件的內容
  cdomail.Send  '執行傳送
%>

  這種方法傳送郵件是最簡單的,同時也帶來一定的問題,就是很少有伺服器會開這項服務!

  我們寫程式,一般情況下都是說要程式碼模組化,這樣方便維護,同時也方便移植。因此,我在這裡將這個發郵件的寫成一個子程,在的時候可以直接呼叫(當然,如果你高興寫成的話也是可以的,這個主要是看個人興趣):

  '引數說明
  'Subject  : 郵件標題
  'MailAddress : 發件伺服器的地址,如smtp.163.com
  'Email  : 收件人郵件地址
  'Sender  : 發件人姓名
  'Content  : 郵件內容
  'Fromer  : 發件人的郵件地址

  Sub SendAction(subject, mailaddress, email, sender, content, fromer)
  Set jmail = Server.CreateObject("JMAIL.SMTPMail")  '建立一個JMAIL物件
  jmail.silent = true  'JMAIL不會丟擲例外錯誤,返回的值為FALSE跟TRUE
  jmail.logging = true  '啟用使用日誌
  jmail.Charset = "GB2312"  '郵件文字的程式碼為簡體中文
  jmail.ContentType = "text/html"  '郵件的格式為HTML的
  jmail.ServerAddress = mailaddress  '傳送郵件的伺服器
  jmail.AddRecipient Email  '郵件的收件人
  jmail.SenderName = sender  '郵件傳送者的姓名
  jmail.Sender = fromer  '郵件傳送者的郵件地址
  jmail.Priority = 1  '郵件的緊急程式,1 為最快,5 為最慢, 3 為預設值
  jmail.Subject = subject  '郵件的標題
  jmail.Body = content  '郵件的內容
  '由於沒有用到密抄跟抄送,這裡遮蔽掉這兩句,如果您有需要的話,可以在這裡恢復
  'jmail.AddRecipientBCC Email  '密件收件人的地址
  'jmail.AddRecipientCC Email  '郵件抄送者的地址
  jmail.Execute()  '執行郵件傳送
  jmail.Close  '關閉郵件物件
  End Sub
 
  '呼叫此Sub的例子
  Dim strSubject,strEmail,strMailAdress,strSender,strContent,strFromer
  strSubject  = "這是一封用JMAIL傳送的測試郵件"
  strContent  = "JMail元件傳送測試成功!"
  strEmail  = ""
  strFromer  = ""
  strMailAddress = "mail.ubbcn.com"

  Call SendAction (strSubject,strMailaddress,strEmail,strSender,strContent,strFromer)
%>

  以上是我對發郵件程式碼的一個粗略的見解,忘大家不吝賜教!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10794571/viewspace-969614/,如需轉載,請註明出處,否則將追究法律責任。

相關文章