クライアント サーバーには、注文の最後、つまり注文を閉じる直前に電子メールを送信する小さなスクリプトがあります。
昨日まではすべて正常に動作していましたが、突然、ページで一般的な 500 エラーが発生しました。したがって、ページの下部から始めて、cdo メール関数の .send の直前に response.end を配置すると、ページが正常に機能することがわかります。
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
Flds(cdoSendUsingMethod) = cdoSendUsingPort
Flds(cdoSMTPServer) = "mail.theserver.com"
Flds(cdoSMTPServerPort) = 25
Flds(cdoSMTPAuthenticate) = cdoAnonymous '0
Flds.Update
With iMsg
Set .Configuration = iConf
.To = "mymail@mail.com"
.From = "amail@mail.gov"
.Sender = ""
.Subject = "test"
.HTMLBody = "TEST"
RESPONSE.END()
.Send
End With
このページの冒頭にも次の 2 行があります。
<!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows 2000 Type Library" -->
<!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" -->
さて、これとは少し異なる電子メールを送信するためのスクリプトをいくつか入れて、すでにいくつかのテストを行っていますが、何も機能していないようです. cdosys をテストする方法を知っている人はいますか? その何か。わかりません。バージョンを返します...またはオプションのリスト...まあ、エラーがサーバー上にあることを私に知らせるものです(したがって、私は彼らに電話して「ねえ、それは私のせいではありません」と言うことができました")…?
編集: ページには 500 エラーしか表示されないため、サーバーがより具体的なエラー コードを返すようにする方法はありますか? サーバーにはアクセスできませんが、ftp のみ (つまり、クラシック ASP のみ) にアクセスできます。
編集2:私はこのコードを追加しました:
on error resume next
.Send
If Err.Number <> 0 Then
Response.write(Err.Number)
response.write("<br>")
response.write(Err.description)
end if
そして、次のメッセージが表示されます。
-2147220975 メッセージ サーバー SMTP を経由できません。Codice errore di trasporto: 0x800ccc6f. サーバーのリスト: 554 送信側 MTA の評価が低いため、このメール システムへのアクセスは拒否されました。