Asp-Classic

SMTP 配置 SendUsing 配置值對 ASP-Classic 無效

  • March 22, 2020

我正在嘗試使用 ASP 經典發送電子郵件,但在 SMTP 配置方面遇到了問題。

錯誤:

CDO.Message.1 錯誤“80040220”“SendUsing”配置值無效。

程式碼(用於電子郵件本身):

Set objMsg = Server.CreateObject("CDO.Message")  
objMsg.From     = "name@name.com"  
objMsg.To       = "themetatron@gmail.com"  
objMsg.Subject  = "Procurement Ally Update"  
objMsg.TextBody = strBody 

我嘗試使用(pt 1)配置的程式碼:

sch = "http://schemas.microsoft.com/cdo/configuration/"  
Set cdoConfig = CreateObject("CDO.Configuration")   
   With cdoConfig.Fields   
       .Item(sch & "smtpserver") = "127.0.0.1"   
       .update   
   End With   

那沒有用,所以我嘗試了:

objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"  
objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25  
objMsg.Configuration.Fields.Update 

那也沒用。

(是的,我沒有展示它,但最後有一個電話到objMsg.Send

據我所知,本地郵箱 SMTP 服務正在執行並準備好履行職責。

任何人都可以幫忙嗎?

如果您指定 smptserver,請務必將您的“ sendusing ”欄位也設置為 2(或 cdoSendUsingPort):

objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMsg.Configuration.Fields.Update 

由於 SMTP 服務位於本地主機上,因此使用 SendUsingPickup (1) 發送到分揀目錄更有意義。這將比通過網路發送到埠 25 更有效。

objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
objMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "C:\Inetpub\mailroot\Pickup"
objMsg.Configuration.Fields.Update 

引用自:https://stackoverflow.com/questions/582756