2014-09-07 1 views
0

IIS 7 Server에서 CDOSYS 및 AJAX를 사용하여 전자 메일을 보내려고합니다. 나는 AJAX 요청을 보내서 메일을 보냈습니다. 그리고 AJAX는 200 OK 상태를 반환합니다. 그러나 이메일이 도착하지 않았습니다. 누가 내 문제를 해결할 수 있습니까? 고마워요!ASP CDOSYS 및 AJAX를 사용하여 전자 메일 보내기

1. index.html을 enter image description here

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

:

나는 3 개 파일이

<%@ 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 = '[email protected]'; 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; %> 
+1

당신은 쿼리 문자열의 매개 변수를 사용하여 브라우저에서 sendmail.asp 직접 요청하는 시도 유무 : 파일에서 는 sendEmail.asp 나는이 구성을해야합니까? 유익한 오류 메시지가 표시 될 수 있습니다. – John

답변

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

+0

감사합니다. :)이 구성이 필요합니다! –

+0

정확하게 표시 할 수 있습니다 :) – StephenCollins

+0

완료! 감사! 하하 ^^ –

0

감사 친구들보다 몇 가지 옵션이 있습니다!

해결책을 찾았습니다. 마침내 내 서버에서 전자 메일이 전송되었습니다.

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)="..."; 
관련 문제