В настоящее время я занимаюсь обновлением многих тестовых сайтов на старом сервере, чтобы они не сломались, когда старый сервер будет прекращен в ближайшие пару месяцев. В частности, контактная форма для одного сайта уже не работает. Когда пользователь нажимает на кнопку «Отправить» после заполнения своей информации, он получает следующую ошибку:
Server object error 'ASP 0177 : 800401f3'
Server.CreateObject Failed
/contactsubmit.asp, line 79
800401f3
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName = "Web Visitor"
If request("email") <> "" then
Mailer.replyto = request("email")
Else
Mailer.replyto = "[email protected]"
End If
Mailer.FromAddress = "[email protected]"
Mailer.RemoteHost = "hostserver"
If TempTest = TRUE then
Else
Mailer.AddRecipient siteOwner, ContactEmail
If ContactCC <> "" then
Mailer.AddCC siteOwner, ContactCC
End If
End If
If DesignerEmail <> "" then
Mailer.AddBCC DesignerEmail, DesignerEmail
End If
Mailer.Subject = siteOwner & " Contact Form"
Mailer.ContentType = "text/html"
Mailer.BodyText = strBody
If Mailer.SendMail then
response.redirect "contact.asp?sent=yes"
Else
response.redirect "contact.asp?sent=no"
End If
Мне сказали, что SMTP - это не способ отправки электронной почты, поэтому я попытался все это изменить на CDOSYS. Но самое забавное, что на этом сервере гораздо больше сайтов, которые я тестировал с использованием того же SMTP-кода, который работает. Изменения с использованием CDOSYS:
Set Mailer = Server.CreateObject("CDO.Message")
Mailer.From = "Web Visitor <[email protected]>"
If request("email") <> "" then
Mailer.ReplyTo = request("email")
Else
Mailer.ReplyTo = "[email protected]"
End If
Mailer.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "hostserver"
If TempTest = TRUE then
Else
Mailer.AddRecipient siteOwner, ContactEmail
If ContactCC <> "" then
Mailer.Cc siteOwner, ContactCC
End If
End If
If DesignerEmail <> "" then
Mailer.Bcc DesignerEmail, DesignerEmail
End If
Mailer.Subject = siteOwner & " Contact Form"
Mailer.HTMLBody = strBody
If Mailer.Send then
response.redirect "contact.asp?sent=yes"
Else
response.redirect "contact.asp?sent=no"
End If
Но теперь я получаю эту ошибку:
Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'Mailer.AddRecipient'
/contactsubmit.asp, line 89
Я безуспешно пытался изменить его на Mailer.Add
и на Mailer.AddAddress
. Кто-нибудь знает, как я могу обойти эту ошибку и, надеюсь, заставить ее работать? Я никогда раньше не работал с почтовыми серверами, поэтому прошу прощения, если это легко исправить, но я искал последние 3 часа и не могу найти хорошей альтернативы .AddRecipient
.