Asp.net 如何在ASP中重新创建PHP邮件脚本?

Asp.net 如何在ASP中重新创建PHP邮件脚本?,asp.net,ajax,Asp.net,Ajax,我正在尝试创建一个简单、完全独立的ASP脚本,该脚本读取jQueryAjax调用中发布的GET变量,然后根据其中的一些值发送电子邮件。然而,我对ASP完全陌生,在转换它时遇到了一些困难 根据我的研究,ASP的$u GET['var\u name']等价物似乎是Request.QueryString['var\u name']。然而,在发送电子邮件时,我偶然发现了几十个使用ASPEmail、CDOSYS、IPWorksMail、JMail等各种工具的示例。我尝试了一些,但我往往没有得到积极的结果

我正在尝试创建一个简单、完全独立的ASP脚本,该脚本读取jQueryAjax调用中发布的GET变量,然后根据其中的一些值发送电子邮件。然而,我对ASP完全陌生,在转换它时遇到了一些困难

根据我的研究,ASP的$u GET['var\u name']等价物似乎是Request.QueryString['var\u name']。然而,在发送电子邮件时,我偶然发现了几十个使用ASPEmail、CDOSYS、IPWorksMail、JMail等各种工具的示例。我尝试了一些,但我往往没有得到积极的结果

以下是我试图用PHP编写的ASP实现的目标:

<?php
  if($_GET['val1'] != "") {
    // Add section one to the email.
  }

  if($_GET['val2'] != "") {
    // Add section two to the email
  }

  $email_company = mail($_GET['company_email'], $subject, $message, $headers);
  $email_client = mail($_GET['client_email'], $subject, $message, $headers);

  if($email_company && $email_client) {
    echo 'success';
  }
  else {
    echo 'error';
  }

?>
那么,我应该在电子邮件中使用什么呢?我是否可以将此页面设置为独立页面,这样它就可以独立运行并接收AJAX调用?谢谢你抽出时间

编辑:

我一直在尝试这样的东西,我没有失败地得到一个500服务器错误。我无法查看任何错误消息,因为我得到的是500页,所以我不知道从哪里查找问题

<%=


' Create the Mail Message
Dim Mail As New MailMessage

' Set the address information
Mail.From = New MailAddress("from@website.com") 
Mail.To.Add("to@website.com")

' Set the content of the email
Mail.Subject = "Testing Email"
Mail.Body = "Hello, I am a test email!"

' Send the message
Dim SMTP As New SmtpClient("MAIL SERVER")
SMTP.EnableSsl = False
SMTP.Credentials = New System.Net.NetworkCredential("USERNAME", "PASSSWORD")
SMTP.Port = 25

SMTP.Send(Mail)



%>

下面是一个使用独立页面和webmethod的示例。如果您仍然有问题,可能是web服务器配置有问题。如果您使用的是IIS,请确保已使用正确的绑定在虚拟目录或网站内的应用程序中设置页面。尝试在该位置创建一个简单的html页面,以确保该页面是可访问的,并且位于您认为的位置

干杯

 <%@ Page Language="C#" %>


<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>

    $(function () {

        var params = {};
        params['from'] = 'fake@test.com'
        params['to'] = 'fakeone@test.com;faketwo@test.com';
        params['body'] = 'hello world';       

        $.ajax({
            type: 'POST',
            url: 'default.aspx/SendMail',
            data: JSON.stringify(params),
            contentType: 'application/json; charset=utf-8',
            dataType: "json"
        });
    });
</script>

<script runat="server">


    [System.Web.Services.WebMethod]
    public static void SendMail(string to, string from, string body) 
    {

        var mail = new System.Net.Mail.MailMessage();
        mail.Body = body;
        mail.From = new System.Net.Mail.MailAddress(from);
        foreach (var r in to.Split(';'))
            mail.To.Add(r);

        var smtp = new System.Net.Mail.SmtpClient("mail.yourdomain.com");

        smtp.Send(mail);

    }

</script>

对于.NET来说,它与发送邮件一样简单,但并不总是最好的。对于ASP.NET来说,使用PageMethods或WebMethods来处理AJAX是非常简单的。@user。很抱歉。我不知道该选哪一个。正如我所说的,我是新的ASP作为一个整体。另外,我将查找页面方法并查看我找到了什么。谢谢你的回复。用你的例子作为构建我自己脚本的基础。非常感谢你。