台灣最大程式設計社群網站
線上人數
550
 
會員總數:245785
討論主題:189420
歡迎您免費加入會員
討論區列表 >> 專欄文章 >> 在IIS5(WinXP)上使用CDO發送郵件(SMTP)
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
在IIS5(WinXP)上使用CDO發送郵件(SMTP)
價值 : 0 QP  點閱數:1258 回應數:0
樓主

站務人員 站長
門外漢
0 1580
542 9
發送站內信

捐贈 VP 給 站務人員

<%
Const cdoSendUsingMethod="http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSendUsingPort=2
Const cdoSMTPServer="http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort="http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPConnectionTimeout="http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
Const cdoSMTPAuthenticate="http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoBasic=1
Const cdoSendUserName="http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSendPassword="http://schemas.microsoft.com/cdo/configuration/sendpassword"
'上面為什麼要這樣宣告呢?有些不解,請那位前輩解答一下

set passcfg = Server.CreateObject("CDO.Configuration")
set flds = passcfg.Fields
flds(cdoSendUsingMethod) = cdoSendUsingPort '使用SMTP的方式
'若是 cdoSendUsingPickup 為利用本機的 SMTP 服務的 drop 目錄
'若是cdoSendUsingExchange為利用 Exchange Mail submission URI
passcfg.Fields(cdoSMTPServer)= "填入SMTP伺服器的IP或Domain Name"
flds(cdoSMTPServerPort)= 25 'SMTP伺服器的port
' flds(cdoSMTPConnectionTimeout) = 10 '這項小弟沒用到
' flds(cdoSMTPAuthenticate) = cdoBasic '應是認證方式,這項小弟沒用到
' flds(cdoSendUserName)= "SMTP伺服器的帳號" '這項小弟沒用到
' flds(cdoSendPassword)= "SMTP伺服器的密碼" '這項小弟沒用到
passcfg.Fields.Update

Set passokMail = Server.CreateObject("CDO.Message")
Set passokMail.Configuration = passcfg

passokMail.From = 填入寄件者Email
passokMail.To = 填入收件者的Emil
passokMail.Subject = 填入標題
passokMail.HtmlBody = 郵件本文內容
passokMail.Send
Set passokMail = Nothing
%>
以上原始碼為小弟收集資料後結合出來的
在IIS 5.1 (winXP)下測試成功
它可以利用外面的伺服器來發送電子郵件
有一些地方小弟不太懂的,若有前輩知道
請前輩們解說一下


補充一下
在passokMail.HtmlBody = 郵件本文內容
這個地方,是用HTML格式發送的
若用純文字的話,是使用passokMail.TextBody = body
小弟是沒有試過夾帶檔案
語法應是
passokMail.AddAttachment("c:\wordfile.doc") '檔案的絕對路徑
passokMail.GetStream.SaveToFile "c:\mysavedmessage.eml", adSaveCreateOverWrite
這兩行應在 passokMail.Send上面
不知道可不可以,我沒有試過,所以可以試試看

本篇文章發表於2002-05-28 00:00
目前尚無任何回覆
   

回覆
如要回應,請先登入.