域名頻道

歡迎您來(lái)到域名頻道,開(kāi)始互聯(lián)網(wǎng)之旅!

ASP程序發(fā)送信件的幾種方法比較

作者:客服中心來(lái)源:域名頻道發(fā)布時(shí)間:2006-8-23 14:07:24瀏覽:

一、Jmail3以及以前的版本使用jmail.smtpmail發(fā)信,具體代碼如下:

<%
Set jmail = Server.CreateObject("JMAIL.SMTPMail") '創(chuàng)建一個(gè)JMAIL對(duì)象
jmail.silent = true 'JMAIL不會(huì)拋出例外錯(cuò)誤,返回的值為FALSE跟TRUE
jmail.logging = true '啟用使用日志
jmail.Charset = "GB2312" '郵件文字的代碼為簡(jiǎn)體中文
jmail.ContentType = "text/html" '郵件的格式為HTML的
jmail.ServerAddress = "Server Address" '發(fā)送郵件的服務(wù)器
jmail.AddRecipient Email '郵件的收件人
jmail.SenderName = "SenderName" '郵件發(fā)送者的姓名
jmail.Sender = "Email Address" '郵件發(fā)送者的郵件地址
jmail.Priority = 1 '郵件的緊急程序,1 為最快,5 為最慢, 3 為默認(rèn)值
jmail.Subject = "Mail Subject" '郵件的標(biāo)題
jmail.Body = "Mail Body" '郵件的內(nèi)容
jmail.AddRecipientBCC Email '密件收件人的地址
jmail.AddRecipientCC Email '郵件抄送者的地址
jmail.Execute() '執(zhí)行郵件發(fā)送
jmail.Close '關(guān)閉郵件對(duì)象
%>
現(xiàn)在還有很多程序是使用這種方式來(lái)發(fā)信,這種方式有一個(gè)很大的缺陷,那就是發(fā)信是使用服務(wù)器本地smtp服務(wù)發(fā)出的,并沒(méi)有通過(guò)任何smtp身份驗(yàn)證,
如果服務(wù)器設(shè)置了需要使用身份驗(yàn)證,則發(fā)信會(huì)失敗。現(xiàn)在因?yàn)榉蠢]件的需要,越來(lái)越多的服務(wù)器開(kāi)始注重這方面的設(shè)置問(wèn)題,如果你使用此種方法發(fā)信突然出現(xiàn)不正常,
則可能是服務(wù)器限制了匿名發(fā)信,上面的代碼則就不會(huì)正常運(yùn)作了。

這種方法我們不建議使用,但是現(xiàn)在還有很多asp程序使用此種方法,可能還是可以正常運(yùn)作的,但是很難保證以后會(huì)一直正常,并且某些郵件服務(wù)器會(huì)拒收這種方法發(fā)出的信件,所以如果有可能的話,盡量不要使用這種方式。

二、 再講一下微軟自帶的CDONTS組件的發(fā)信的方法:

<%
Set cdomail = Server.CreateObject("CDONTS.NewMail") '建立郵件對(duì)象
cdomail.Subject = "Mail Subject" '郵件標(biāo)題
cdomail.From = "Sender's Mail" '發(fā)件人的地址
cdomail.To = "Email will from" '收件人的地址
cdomail.Body = "Mail Body" '郵件的內(nèi)容
cdomail.Send '執(zhí)行發(fā)送
%>

  這種方法發(fā)送郵件是最簡(jiǎn)單的,同時(shí)也帶來(lái)一定的問(wèn)題,就是很少有服務(wù)器會(huì)開(kāi)這項(xiàng)服務(wù),即使開(kāi)通,也因?yàn)闆](méi)有身份驗(yàn)證信息,發(fā)出的信件會(huì)被很多服務(wù)器所拒收,強(qiáng)烈建議不使用。

 

三、 w3 Jmail4.3組件重新設(shè)計(jì)了其內(nèi)部結(jié)構(gòu)——使用Message對(duì)象代替原來(lái)的單一對(duì)象Jmail.smtpmail發(fā)送郵件,并且增加了需要身份驗(yàn)證的設(shè)置,同時(shí)對(duì)象的屬性也比以前有很大改變,導(dǎo)致程序需要完全重寫(xiě),
新版的發(fā)信范例如下所示:
<%
Set jmail = Server.CreateObject("JMAIL.Message") '建立發(fā)送郵件的對(duì)象
jmail.silent = true '屏蔽例外錯(cuò)誤,返回FALSE跟TRUE兩值j
Jmail.logging = true '啟用郵件日志
jmail.Charset = "GB2312" '郵件的文字編碼為國(guó)標(biāo)
jmail.ContentType = "text/html" '郵件的格式為HTML格式
jmail.AddRecipient Email '郵件收件人的地址
jmail.From = "Email From for Sender" '發(fā)件人的E-MAIL地址
jmail.MailServerUserName = "UserName of Email" '登錄郵件服務(wù)器所需的用戶(hù)名
jmail.MailServerPassword = "Password of Email" '登錄郵件服務(wù)器所需的密碼
jmail.Subject = "Mail Subject" '郵件的標(biāo)題
jmail.Body = "Mail Body" '郵件的內(nèi)容
jmail.Send("Server Address") '執(zhí)行郵件發(fā)送(通過(guò)郵件服務(wù)器地址)
jmail.Close() '關(guān)閉對(duì)象
%>

使用這段代碼發(fā)信,是當(dāng)前最為穩(wěn)定,也最為適用的發(fā)信方法,我們推薦使用Jmail發(fā)信的客戶(hù),使用此種方法來(lái)發(fā)信。

收藏 】 【 打印
會(huì)員 客服 QQ 電話 充值 工單
Top

24小時(shí)客服熱線

400-670-1116

021-67820741

若400電話正忙,請(qǐng)撥總機(jī) 02167820741