比較|程式
一、Jmail3以及以前的版本使用jmail.smtpmail發信,具體代碼如下:
<%
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 = "Server Address" '發送郵件的伺服器
jmail.AddRecipient Email '郵件的收件者
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 '關閉郵件對象
%>
現在還有很多程式是使用這種方式來發信,這種方式有一個很大的缺陷,那就是發信是使用伺服器本地smtp服務發出的,並沒有通過任何smtp身分識別驗證,如果伺服器設定了需要使用身分識別驗證,則發信會失敗。現在因為反垃圾郵件的需要,越來越多的伺服器開始注重這方面的設定問題,如果你使用此種方法發信突然出現不正常,則可能是伺服器限制了匿名發信,上面的代碼則就不會正常運作了。
這種方法我們不建議使用,但是現在還有很多asp程式使用此種方法,可能還是可以正常運作的,但是很難保證以後會一直正常,並且某些郵件伺服器會拒收這種方法發出的信件,所以如果有可能的話,盡量不要使用這種方式。
二、 再講一下微軟內建的CDONTS組件的發信的方法:
<%
Set cdomail = Server.CreateObject("CDONTS.NewMail") '建立郵件對象
cdomail.Subject = "Mail Subject" '郵件標題
cdomail.From = "Sender's Mail" '寄件者的地址
cdomail.To = "Email will from" '收件者的地址
cdomail.Body = "Mail Body" '郵件的內容
cdomail.Send '執行發送
%>
這種方法發送郵件是最簡單的,同時也帶來一定的問題,就是很少有伺服器會開這項服務,即使開通,也因為沒有身分識別驗證資訊,發出的信件會被很多伺服器所拒收,強烈建議不使用。
三、 w3 Jmail4.3組件重新設計了其內部結構——使用Message對象代替原來的單一對象Jmail.smtpmail發送郵件,並且增加了需要身分識別驗證的設定,同時對象的屬性也比以前有很大改變,導致程式需要完全重寫,新版的發信範例如下所示:
<%
Set jmail = Server.CreateObject("JMAIL.Message") '建立發送郵件的對象
jmail.silent = true '屏蔽例外錯誤,返回FALSE跟TRUE兩值j
Jmail.logging = true '啟用郵件日誌
jmail.Charset = "GB2312" '郵件的文字編碼為國標
jmail.ContentType = "text/html" '郵件的格式為HTML格式
jmail.AddRecipient Email '郵件收件者的地址
jmail.From = "Email From for Sender" '寄件者的E-MAIL地址
jmail.MailServerUserName = "UserName of Email" '登入郵件伺服器所需的使用者名稱
jmail.MailServerPassword = "Password of Email" '登入郵件伺服器所需的密碼
jmail.Subject = "Mail Subject" '郵件的標題
jmail.Body = "Mail Body" '郵件的內容
jmail.Send("Server Address") '執行郵件發送(通過郵件伺服器地址)
jmail.Close() '關閉對象
%>
使用這段代碼發信,是當前最為穩定,也最為適用的發信方法,我們推薦使用Jmail發信的客戶,使用此種方法來發信。