1

我是 ASP 编程的初学者。我正在尝试找出一个简单的脚本来发送电子邮件。这是我的 HTML 代码:

    <form method="POST" action="email.aspx">
    To <input type="text" name="To"/> <br />
    From <input type="text" name="From"/> <br />
    Subject <input type="text" name="Subject"/> <br />
    Body <textarea name="Body" rows="5" cols="20" wrap="physical" > 
    </textarea>
    <input type="submit" />
    </form>

这是我的 ASP 代码:

        Dim mail
        mail = Server.CreateObject('CDO.Message')
        mail.To = Request.Form("To")
        mail.From = Request.Form("From")
        mail.Subject = Request.Form("Subject")
        mail.TextBody = Request.Form("Body")
        mail.Send()
        Response.Write("Mail Sent!")
        mail = Nothing

我知道不再支持 set 方法,我在 ASP 代码中遇到错误,是否有任何解决方案可以在 ASP 中发送简单的电子邮件?谢谢大家!

4

1 回答 1

1

只有在您的服务器上安装了 CDO 或 CDONTS 并可用时,您的代码才能工作 - 尽管大多数支持 Classic ASP 的 webhosts 将使其可用。

在 VBScript 中,所有对象(即不是数字或字符串的对象)都必须使用Set运算符进行分配。我知道这很愚蠢,但这是你需要做的:

    Dim mail
    Set mail = Server.CreateObject("CDO.Message")
    mail.To       = Request.Form("To")
    mail.From     = Request.Form("From")
    mail.Subject  = Request.Form("Subject")
    mail.TextBody = Request.Form("Body")

    mail.Send
    Response.Write "Mail Sent!"
    Set mail = Nothing

如果您的服务器没有安装 CDO 或 CDONTS,那么您在调用 时会收到一条错误消息CreateObject,但您没有在原始问题中列出任何错误消息。

于 2013-09-05T03:39:57.220 回答