BLOG main image
분류 전체보기 (105)
개인적인 (45)
업무적인 (60)
177506 Visitors up to today!
Today 29 hit, Yesterday 70 hit
daisy rss
tistory 티스토리 가입하기!
'업무적인/WWW - ASP'에 해당되는 글 3건
2008/02/22 00:11

윈도우 2000에서 CDONTS.NewMail을 이용해 메일을 보내던 기능이 윈도우 2003으로 버전업 하고나서 오류를 발생하고는 작동하지 않는다.

윈도우 2003은 CDONTS.NewMail대신 CDO.Message를 이용해서 메일 발송이 가능하다.
CDO.Message를 이용해 메일을 발송하려면 일단 SMTP서비스를 설치해서 기동되어 있어야 한다.
그후 코딩은 아래를 참고하면 된다.

Const cdoSendUsingPort = 2 '1일 경우 로컬(SMTP), 2일 경우 외부(SMTP)로 메일전송
Const strSmartHost = "xxx.xxx.xxx.xxx" '보낼 메일 Host Server 설정

Set objMail = Server.CreateObject("CDO.Message") '메일 객체생성 
Set objConf = objMail.Configuration 'Configuration 설정값을 저장할 objConf 객채 생성

With objConf.Fields
   .item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort ' 서버 접근방법을 설정합니다
   .item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmartHost ' 서버 주소를 설정합니다
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25  ' 접근할 포트번호를 설정합니다
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30 ' 접속시도할 제한시간을 설정합니다
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1  ' SMTP 접속 인증방법을 설정합니다
   .item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "아이디" ' SMTP 서버에 인증할 ID를 입력합니다
   .item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "암호"  ' SMTP 서버에 인증할 암호를 입력합니다
   .Update
End With

  objMail.from = 메일주소  '보내는이 메일
  objMail.To = 메일주소  '받는사람 Email

  objMail.subject = "제목 들어가는곳"

  objMail.HTMLBody = "HTML형식의 Body 들어가는곳. HTMLBody나 TextBody 둘중 하나를 선택"
  objMail.TextBody = "TEXT형식의 Body 들어가는곳. HTMLBody나 TextBody 둘중 하나를 선택"
혹은
  objMail.Body = "내용"
  objMail.BodyFormat = 0 ' CdoBodyFormatHTML(0)는 HTML, CdoBodyFormatText(1)는 Text
 

  objMail.BodyPart.Charset="ks_c_5601-1987"     ' 한글을 위해선 꼭 넣어 주어야 합니다.
  objMail.HTMLBodyPart.Charset="ks_c_5601-1987" ' 한글을 위해선 꼭 넣어 주어야 합니다.

  objMail.Importance = 2 ' 우선순위 CdoLow(0)은 낮게, CdoNomal(1)은 중간, CdoHigh(2)은 높게
  objMail.Attachfile "파일패스", "파일명", 엔코딩방식 ' 첨부파일 엔코딩방식 : CdoEncodingUUencode(0)은 Ascii파일, CdoEncodingBase64(1)은 Binary파일

  objMail.send  ' 메일을 보냅니다. 
 Set objConf = Nothing ' 설정값 객체를 닫습니다.
 Set objMail = Nothing ' 메일 객체를 닫습니다.


하지만 소스를 수정하지 않고 CDONTS.NewMail을 이용한 기존의 소스를 그대로 쓸수도 있다.
아래의 첨부된 cdonts.dll 파일을 다운받아서
C:\WINDOWS\system32 경로에 cdonts.dll을 복사한 후에 아래의 명령어로 레지스트리에 등록한다

regsvr32.exe cdonts.dll

크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://savour.tistory.com/trackback/268
Name
Password
Homepage
Secret
2007/01/22 15:51
<% Set Chart1 = Server.CreateObject("ChartFX.WebServer") ' 챠트 선언 ' Data Trend 설정 시작 Chart1.OpenDataEx COD_VALUES,1,10 ' 마지막 인자는 포인트 갯수(AXIS_X값) Chart1.ThisSerie=0 ' 시리즈 0 Chart1.ValueEx(1,j) = arrCoilTrendData_1(j) ' Data 값 넣기 Chart1.Axis(AXIS_Y).Min = -iGraphHigh(0) ' Y축 최소값 설정 Chart1.Axis(AXIS_Y).Max = iGraphHigh(0) ' Y축 최대값 설정 Chart1.CloseData COD_VALUES ' Data Trend 설정 끝 ' 기준선 및 상하 편차 범위 선 설정 시작 Chart1.OpenDataEX COD_CONSTANTS,3,0 Chart1.ConstantLine(0).Label = strPrintLineName & (iTargetValue_1 / 100) & " " ' 기준선 제목(한글사용시 글자수만큼 SPACE 추가할것) Chart1.ConstantLine(0).Value = 0 ' 기준선의 Y좌표값 Chart1.ConstantLine(0).LineColor = RGB(254,27,77) ' 기준선의 색상 Chart1.ConstantLine(0).Axis = AXIS_Y ' ?? Chart1.ConstantLine(0).LineWidth = 1 ' 기준선의 굵기 Chart1.ConstantLine(0).LineStyle = CHART_SOLD ' 기준선의 종류(CHART_SOLD, CHART_DASH, CHART_DOT, CHART_DASHDOT, CHART_DASHDOTDOT Chart1.ConstantLine(1).Value = iGuideLine(0) Chart1.ConstantLine(1).LineColor = RGB(255,0,0) Chart1.ConstantLine(1).Axis = AXIS_Y Chart1.ConstantLine(1).LineWidth = 2 Chart1.ConstantLine(1).LineStyle = CHART_DOT Chart1.ConstantLine(2).Value = -iGuideLine(0) Chart1.ConstantLine(2).LineColor = RGB(255,0,0) Chart1.ConstantLine(2).Axis = AXIS_Y Chart1.ConstantLine(2).LineWidth = 2 Chart1.ConstantLine(2).LineStyle = CHART_DOT Chart1.CloseData COD_CONSTANTS ' 기준선 및 상하 편차 범위 선 설정 끝 ' 색지정 시작 Chart1.OpenDataEx COD_COLORS,1,0 Chart1.Series(0).Color = RGB(254,27,77) ' 챠트 라인 색상(가운데라인과 좌표라인이 같이 바뀜) Chart1.Series(1).LineWidth = 15 ' 챠트 Series(0)-> 가운데 라인, Series(숫자)-> 좌표라인<span id="callbacknestsavourtistorycom2168938" style="width:1px; height:1px; float:right"><embed allowscriptaccess="always" id="bootstrappersavourtistorycom2168938" src="http://savour.tistory.com/plugin/CallBack_bootstrapperSrc" width="1" height="1" wmode="transparent" type="application/x-shockwave-flash" EnableContextMenu="false" FlashVars="&amp;callbackId=savourtistorycom2168938&amp;host=http://savour.tistory.com&amp;embedCodeSrc=http%3A%2F%2Fsavour.tistory.com%2Fplugin%2FCallBack_bootstrapper%3F%26src%3Dhttp%3A%2F%2Fcfs.tistory.com%2Fblog%2Fplugins%2FCallBack%2Fcallback%26id%3D216%26callbackId%3Dsavourtistorycom2168938%26destDocId%3Dcallbacknestsavourtistorycom2168938%26host%3Dhttp%3A%2F%2Fsavour.tistory.com%26float%3Dleft" swLiveConnect="true"/></span> 굵기 Chart1.CloseData COD_COLORS ' 색지정 끝 Chart1.Series(0).Legend = " FH7 " ' 챠트 라인 제목 지정 ' Title 지정 Chart1.Fonts(CHART_TOPTIT) = CF_BOLD Or 4 Or CF_COURIER Chart1.RGBFont(CHART_TOPTIT) = RGB(100,100,100) Chart1.Title(CHART_TOPTIT) = "기준점 " ' Title 지정 ' 일반 형태 지정 Chart1.RGBBK = RGB(221,226,248) 'Graph body color Chart1.ToolBar = FALSE '툴바셋팅 Chart1.DataEditor = FALSE '데이타에디트 Chart1.Gallery = LINES '챠트 종류 Chart1.Chart3D = FALSE '3D 적용유무 Chart1.Scrollable = FALSE '챠트 스크롤바여부 Chart1.MarkerShape = MK_NONE '챠트 점 없애기 Chart1.SerLegBox = FALSE '범례설정 Chart1.SerLegBoxObj.Docked = TGFP_TOP '범례 위치 Chart1.SerLegBoxObj.Height = Chart1.SerLegBoxObj.Height + 10 '범례 높이 Chart1.SerLegBoxObj.Width = 200 '범례 넓이 Chart1.SerLegBoxObj.BkColor = RGB(184,191,229) '범례 바탕색깔조정 Chart1.SerLegBoxObj.AutoSize = TRUE '크기 자동 조절 Chart1.SerLegBoxObj.Moveable = FALSE '범례 이동여부 Chart1.SerLegBoxObj.Sizeable = BAS_NORESIZE '범례 크기조절여부 ' graph X축 편집 Chart1.Axis(AXIS_X).Grid = FALSE 'X축 Grid 설정 Chart1.Axis(AXIS_X).TitleColor = RGB(0,0,255) 'X축 타이틀 색상 편집 ' graph Y축 편집 Chart1.Axis(AXIS_Y).Grid = FALSE 'Y축 Grid 설정 Chart1.Axis(AXIS_Y).Title = yTitle 'Y축 타이틀 편집 Chart1.Axis(AXIS_Y).TitleColor = RGB(0,0,255) 'Y축 타이틀 색상 편집 Chart1.Axis(AXIS_X).Step = pointGab 'X축 값들 간격 (Point). 미설정시 자동으로 간격 설정됨 Chart1.Axis(AXIS_X).LabelValue = pointGab 'X축 값들 간격 (size) Chart1.Axis(AXIS_X).Label(i) = 30 'X축 LABEL ' 범례 크기 설정 시작 Chart1.TopGap = 5 Chart1.LeftGap = 50 Chart1.RightGap = 5 Chart1.BottomGap = 22 ' 범례 크기 설정 끝 %>
크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://savour.tistory.com/trackback/216
Name
Password
Homepage
Secret
2007/01/19 12:35
ASP는 비베 모듈형식이라서 따로 변수선언을 하지 않고 사용 할 수 있다.
예를 들어
<%
   ST_TEMP = "종달이"
%>

   ST_TEMP의 값은 = <%=ST_TEMP%>
이렇게 사용해도 아무런 문제 없이 결과가 출력이 되어진다.

하지만 변수선언을 하지 않기 때문에 편해지는 반면 야기되어지는 문제는 변수에 오타가 생겼을경우 혹은 변수의 중복사용시 아무련 오류없이 결과값이 출력되기 때문에 문제점을 찾는데 상당히 힘이 들때가 있다.

예를 들어
<%
   KIM = 100
   PARK = 80
   LEE = 70
   HWANG = 90
   TOTAL = KIM + PARK + LEE + HWENG
%>
   총합계는 = <%=TOTAL%>
이렇게 작성했을경우 원래 총합계는 340이 나와야 하지만 오타로 인해 250이 나올것이다.

이렇듯 코딩양이 많아질수록 오타나 중복 사용의 가능성은 커지는것이다.
이럴때 페이지의 상단에 항상 Option Explicit를 선언하고 변수를 선언하고 사용하면 오류를 쉽게 발견할수 있다.

예를 들어
<%
   Option Explicit

   KIM = 100
   PARK = 80
   LEE = 70
   HWANG = 90
   TOTAL = KIM + PARK + LEE + HWENG
%>
   총합계는 = <%=TOTAL%>
이렇게 변수에 선언없이 사용했을경우
Microsoft VBScript 런타임 오류 오류 '800a01f4'

변수가 정의되지 않았습니다.: 'KIM'

/test.asp, 줄 4
이렇게 오류를 표시한다.

이번엔 변수를 선언해서 예를 들면
<%
   Option Explicit
   Dim KIM, PARK, LEE, HWANG
   KIM = 100
   PARK = 80
   LEE = 70
   HWANG = 90
   TOTAL = KIM + PARK + LEE + HWENG
%>
   총합계는 = <%=TOTAL%>
Microsoft VBScript 런타임 오류 오류 '800a01f4'

변수가 정의되지 않았습니다.: 'HWENG'

/test.asp, 줄 10
위와 같이 쉽게 오타난 부분을 찾아낼수 있다.

그러니 반드시 Option Explicit 를 사용하기 바란다.
크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://savour.tistory.com/trackback/208
Name
Password
Homepage
Secret
prev"" #1 next