ASP发送邮件

时间:2013-09-05 03:31:38

标签: email asp-classic

我是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中发送简单的电子邮件?提前谢谢大家!

1 个答案:

答案 0 :(得分:1)

您的代码仅在您的服务器上安装了CDO或CDONTS时才有效 - 尽管支持Classic ASP的大多数虚拟主机都可以使用此代码。

在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时会收到错误消息,但您没有在原始问题中列出任何错误消息。