繁体   English   中英

ASP使用CDOSYS和AJAX发送电子邮件

[英]ASP Sending E-mail with CDOSYS and AJAX

我尝试在IIS 7服务器中使用CDOSYS和AJAX发送电子邮件。 我已经发送了一个AJAX请求来发送邮件。 并且AJAX返回200 OK状态。 但是电子邮件没有到达。 谁能解决我的问题? 非常感谢!

我有3个文件:

1. index.html 在此处输入图片说明

2. main.js

    function sendEmailAjaxFunc(){

        var cusName = document.getElementById("cusName").value;
        var emailAdr = document.getElementById("emailAdr").value;

        var xmlhttp;
        try{
            xmlhttp=new XMLHttpRequest();
        }
        catch(e){
            xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
        }
        xmlhttp.open("GET","sendEmail.asp?cusName="+cusName+"&emailAdr="+emailAdr+"&sTime="+new Date().getTime(),true);
        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                //finish report
                //alert(xmlhttp.responseText);
            }
        }
        xmlhttp.send(null);
        return true;
    }

3. sendEmail.asp

    <%@ Language=JScript CodePage=65001 %>
    <%

        var cusName = Request.QueryString("cusName");
        var emailAdr = Request.QueryString("emailAdr");

        var objMail = Server.CreateObject( "CDO.Message" );
        objMail.BodyPart.charset = "unicode-1-1-utf-8";
        objMail.From = 'info@it.com';
        objMail.To = emailAdr;
        objMail.Cc = emailAdr;
        objMail.Subject = 'It-Zhai GmbH';
        objMail.TextBody = 'Hello ' + cusName + ', just a text email';
        //objMail.HTMLBody = 'HTML';
        //objMail.AddAttachment('justAttachment.txt');
        objMail.SendMail;
    %>

您是否设置了电子邮件服务器来发送消息? 看来您需要配置要通过服务器发送的消息。

这里有一些其他选项可添加到您的配置中...

objMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 

'Name or IP of Remote SMTP Server'

objMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.myserver.com"

'Server port (typically 25)'

objMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 

objMail.Configuration.Fields.Update

您可以在此处找到更多信息... http://www.paulsadowski.com/wsh/cdo.htm

谢谢朋友!

我找到了解决方案。 终于从我的服务器发送了一封电子邮件。 在文件sendEmail.asp中,我应该进行以下配置:

    var oServer=new ActiveXObject("CDO.Configuration");
    oServer.Fields(cdoSMTPServer)="...";  //Server Adresse
    oServer.Fields(cdoSMTPAuthenticate) = 1;
    oServer.Fields(cdoSMTPUseSSL) = 1;
    oServer.Fields(cdoSendUsername)="...";
    oServer.Fields(cdoSendPassword)="...";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM