我尝试使用IIS 7 Server中的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;
%>
答案 0 :(得分:1)
您是否设置了发送邮件的电子邮件服务器?看起来您需要配置要通过服务器发送的消息。
以下是一些可添加到配置中的选项......
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
答案 1 :(得分:0)
谢谢伙计们!
我找到了解决方案。 最终从我的服务器发送了一封电子邮件。 在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)="...";