首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASPX到ASP转换(电子邮件脚本)?

问ASPX到ASP转换(电子邮件脚本)?
EN

Stack Overflow用户
提问于 2011-09-15 08:26:41
回答 2查看 913关注 0票数 1

我是一个PHP开发人员,我对ASP一无所知。遗憾的是,我是这里唯一的开发人员,客户端有ASP (而不是ASP.NET)页面,他们想要一个“联系我们”的表单。

我在互联网上搜索,找出如何在Apache中服务Apache文件,它给我指明了mod_aspdotnet。想到ASP和ASP.NET是一样的,我真是太蠢了!现在你看到我的问题了吗?我开发了一个工作的ASP.NET电子邮件脚本。这些文件有.aspx扩展名,但实际站点有.asp扩展名,它们使用的是ASP,而不是ASP.NET!

所以我想寻求帮助。这是我的电子邮件脚本:

代码语言:javascript
复制
<%@ Page Language="VB" Debug="true" %>
<%@Import Namespace="System.Web.Mail" %>
<script language="vb" runat="server">

Sub Send2Mail (sender as Object, e as EventArgs)

    Dim objMail as New MailMessage()

    if Logo.HasFile Then
        Try
            Logo.SaveAs(Server.MapPath("uploads/") + Request.form("strName") + "_Logo_" + Logo.FileName)
            objMail.Attachments.Add(new MailAttachment(Server.MapPath("uploads/" + Request.form("strName") + "_Logo_" + Logo.FileName)))
        Catch ex As Exception
            msg.Text = "<b>The Logo could not be uploaded</b>. The following error occured: <i>" + ex.Message + "</i><br />"
            msg.Visible = true
        end try
    end if  

    if Image1.HasFile Then
        Try
            Image1.SaveAs(Server.MapPath("uploads/") + Request.form("strName") + "_Image1_" + Image1.FileName)
            objMail.Attachments.Add(new MailAttachment(Server.MapPath("uploads/" + Request.form("strName") + "_Image1_" + Image1.FileName)))
        Catch ex As Exception
            msg.Text = "Image 1 could not be uploaded. The following error occured: <i>" + ex.Message + "</i><br />"
            msg.Visible = true
        end try
    end if  

    if Image2.HasFile Then
        Try
            Image2.SaveAs(Server.MapPath("uploads/") + Request.form("strName") + "_Image2_" + Image2.FileName)
            objMail.Attachments.Add(new MailAttachment(Server.MapPath("uploads/" + Request.form("strName") + "_Image2_" + Image2.FileName)))
        Catch ex As Exception
            msg.Text = "Image 2 could not be uploaded. The following error occured: <i>" + ex.Message + "</i><br />"
            msg.Visible = true
        end try
    end if


    objMail.To = "example@example.com"
    objMail.From = """Us"" <do-not-reply@foo.com>"

    objMail.BodyFormat = MailFormat.Html
    objMail.Priority = MailPriority.Normal
    objMail.Subject = "Business Registration"

    objMail.Body = "<html><body style='font-family: Verdana'><table style='font-family: Verdana; font-size: 11px'>"
    objMail.Body += "<tr><td><b>Business Name:</b></td><td>" + Request.form("strName") + "</td></tr>"
    objMail.Body += "<tr><td><b>Opening Business Description:</b></td><td>" + Request.form("strOpenDesc") + "</td></tr>"
    objMail.Body += "<tr><td><b>Opening Hours:</b></td><td>" + Request.form("strHours") + "</td></tr>"
    objMail.Body += "<tr><td><b>Business Description:</b></td><td>" + Request.form("strBusDesc") + "</td></tr>"
    objMail.Body += "<tr><td><b>Servicing Area:</b></td><td>" + Request.form("strService") + "</td></tr>"
    objMail.Body += "<tr><td><b>Website Address:</b></td><td>" + Request.form("strWebsite") + "</td></tr>"
    objMail.Body += "<tr><td><b>Email Address:</b></td><td>" + Request.form("strEmail") + "</td></tr>"
    objMail.Body += "<tr><td><b>Telephone Number:</b></td><td>" + Request.form("strPhone") + "</td></tr>"
    objMail.Body += "<tr><td><b>Fax Number:</b></td><td>" + Request.form("strFax") + "</td></tr>"
    objMail.Body += "<tr><td><b>Mobile Phone Number:</b></td><td>" + Request.form("strMobile") + "</td></tr>"
    objMail.Body += "<tr><td><b>Suburb / Post Code:</b></td><td>" + Request.form("strPostCode") + "</td></tr>"
    objMail.Body += "<tr><td><b>Proprietor Name:</b></td><td>" + Request.form("strPropName") + "</td></tr>"
    objMail.Body += "<tr><td><br /></td></tr>"
    objMail.Body += "<tr><td><b>Image 1 Caption:</b></td><td>" + Request.form("strImage1Caption") + "</td></tr>"
    objMail.Body += "<tr><td><b>Image 2 Caption:</b></td><td>" + Request.form("strImage2Caption") + "</td></tr>"
    objMail.Body += "</table><body></html>"

    SmtpMail.SmtpServer = "localhost"

    Try
        SmtpMail.Send(objMail)
        strMessage.Visible = true
    Catch ex As Exception
        msg.Text = "<b>The message was not sent</b>. The following error occured: <i>" + ex.Message + "</i><br />"
        msg.Visible = true
    End Try

End Sub

这在ASP中能正常工作吗?要使它在ASP中工作,我需要更改什么?我也在使用<asp:></asp:>标签。这在ASP中有用吗?

编辑

对于我所使用的开发服务器和主机服务器的混淆,我感到很抱歉。主机正在使用IIS。我使用Apache是因为我是一个PHP开发人员。在Apache中运行ASP页面的问题是,客户端不想让我访问他们的服务器。他们告诉我我应该把文件交出来。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-15 09:12:00

ASP和ASP.NET由于纯粹的营销原因而共享名称,但它们基本上是不相关的技术,尽管后者重用了一些概念(例如,作为语言不可知论的框架),甚至还有一些方法名称(比如Server.MapPath)。

在这两个ASP中,您必须选择一种受支持的编程语言并使用它编写脚本。您的示例代码似乎使用了VisualBasic,这是经典ASP不支持的。您将不得不切换到(例如) VBScript。与VisualBasic不同,VBScript是松散类型的,但除此之外,它还有类似的语法。

传统的发送电子邮件的方式是CDONTS库。一个简单的例子:

代码语言:javascript
复制
<%

set mailer = CreateObject("CDONTS.NewMail")
mailer.from = "foo@example.com"
mailer.to = "bar@example.com"
mailer.subject = "Test e-mail message"
mailer.body = "This is the message body."
mailer.send
set mailer = nothing

%>

一般来说,典型的ASP与PHP非常相似:在HTML文档中嵌入代码。

困难的部分是文件上传处理。ASP没有本地文件上传功能:您必须购买并安装一个二进制商业库,或者在Internet上找到一个VBScript专用代码片段。

编辑:你的客户真的在Apache上运行ASP吗?Microsoft只支持IIS。ASP的Apache模块通常是由第三方编写的,通常实现不同的语言,比如Perl。

票数 2
EN

Stack Overflow用户

发布于 2011-09-15 08:56:15

ASP (或现在所知的经典ASP )和ASP.NET是不同的野兽。第一种是一种类似于PHP的脚本语言,而ASP.NET使用.NET框架,在以.NET程序集的形式运行和上传之前,或者在页面包含内联脚本的情况下,编译成.NET二进制文件,然后由构成.NET框架核心部分的CLR (公共语言运行库)运行它们。

虽然一些VB.NET代码可以转换回VBScript (最常用的经典ASP语言),但是在Microsoft.VisualBasic命名空间之外使用.NET框架的任何部分都是不可用的。要访问这种功能,您需要使用第三方ActiveX/COM组件。

您说要在Apache上提供ASP脚本,是因为您没有访问IIS服务器的权限,还是因为这个站点已经在Apache上运行?据我所知,在Apache上运行经典ASP的唯一方法是为Apache使用ChilliSoft/SunOne。一些托管公司提供这个,但这是一个遗留的产品。

如果它正在运行ChilliSoft ASP,那么如果主机已经安装了SpicePack,则可以安装一个邮件组件。想了解更多信息,请看这个:

http://developers.sun.com/asp/howto/chilimail.html

docs.pdf

我使用IIS将许多ASP应用程序从ChilliSoft移植到Apache,通常情况下,它运行得非常好。

关于如何使用ASP:在ASP中发送邮件代码发送电子邮件,请看这个答案。

如果没有其他内容,只需添加一个页面以PHP发送邮件,并将联系人表单发送到该页面,然后如果希望ASP页面看起来无缝,则将其重定向回ASP页面。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7427914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档