经典ASP电子邮件脚本不再有效

时间:2012-12-11 12:43:55

标签: asp-classic

几年前我在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"
%>

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

毫无疑问,你最后添加了Captcha,所以这将是通过取消定义其要求来测试的第一件事。也...

  • “mail.Send”之后你不需要()。
  • 检查“From”变量是否为空。