0

数年前に ASP で「sendmail」スクリプトを作成しました。これには、電子メール形式の検証と CAPTCHA 検証が含まれます。うまくいきました。

しばらくフォームからの問い合わせがなかったので、問い合わせページを自分でテストしてみようと思いました。見よ、スクリプトはもはや機能していないようだ。

私の方法 (以下を参照してください) が過去数年間で時代遅れになったかどうか知っている人はいますか?! (クラシック)ASPでこれを行う別の推奨方法はありますか?

これが私のスクリプトの最初の部分です(プライバシーのために電子メールアドレスを変更しました):

<%
Dim mail
Dim msgtext
Set mail = CreateObject("CDO.Message")
mail.To = "abcdef@ymail.com"
mail.Cc = "abcdefg@gmail.com"
mail.From = Request.Form("From")
mail.Subject = "Enquiry from website"

mail.TextBody = "From: " & Request.Form("Fname") & vbCRLF & "Message: " &  Replace(Request.Form("Body"),vbCrLf ,"") & vbCRLF & "Telephone: " & Request.Form("Phone") & vbCRLF


if not IsEmpty(Request.Form("btnTest")) then
    if TestCaptcha("ASPCAPTCHA", Request.Form("captchacode")) then
    else
        msgtext = "c"
    end if
end if

mail.Send()
'Destroy the mail object!
Set mail = nothing
msgtext = "y"
%>
4

2 に答える 2

1

私が思いつく唯一のことは、デフォルトのメール サーバーが停止している、または見つからない可能性があることです。私が覚えていることから、特定のサーバーを指すのは良い習慣です

mail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
    'Name or IP of remote SMTP server
mail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.server.com"
     'Server port
mail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25 
mail.Configuration.Fields.Update
mail.Send
set mail=nothing
于 2012-12-26T01:20:46.683 に答える