예약메일 보내는 MSDN자료입니다.
요약
Windows NT Option Pack(NTOP) 및 Windows 2000은 SMTP(Simple Mail Transfer Protocol) 서비스를 기본적으로 설치하여 일반적으로 전자 메일 기반 HTML 양식 처리를 위한 ASP(Active Server Page)를 통해 이를 다양한 목적으로 사용할 수 있도록 합니다.
본 문서에서는 Windows Script Host(WSH) 및 SMTP 서비스의 CDONTS NewMail 개체의 전자 메일 기능을 사용하여 예약 메일 보내기를 만드는 절차를 설명합니다.
추가 정보
다음 예제에서는 메일 보내기를 위한 WSH 스크립트뿐만 아니라 메일 보내기를 위한 예약 작업 및 메일 내용을 업데이트할 수 있는 텍스트 파일의 작성을 단계별로 설명합니다.
예약 작업을 설정하는 첫 단계로 스케줄러 서비스가 실행 중인지 확인합니다.
작업 표시줄에서 시작, 설정을 차례로 누른 다음 제어판을 누릅니다.
제어판에서 서비스 애플릿을 두 번 누릅니다.
작업 스케줄러 서비스가 나올 때까지 아래로 스크롤합니다.
상태가 실행 중으로 표시되어 있는지 확인합니다.
시작이 자동으로 표시되어 있는지 확인합니다.
닫기를 눌러 서비스 애플릿을 종료하고 제어판을 닫습니다.
다음 내용의 텍스트 파일을 만들고 컴퓨터에 C:\Mailout.txt로 저장합니다.
<p>This is line 1.</p>
<p>This is line 2.</p>
WSH 스크립트를 만들어서 방금 만든 텍스트 파일을 읽습니다. 다음 코드를 복사하여 컴퓨터에 "C:\mailout.vbs"로 저장합니다. 보내는 사람/받는 사람을 사용자 지정하려면 strFrom 및 strTo 변수 값을 변경합니다.
'--------------------------------------------------------------------
'
' Mailout using CDONTS.NewMail
'
'--------------------------------------------------------------------
' declare all variables
Option Explicit
Dim objSendMail
Dim strTo, strFrom
Dim strSubject, strBody
' mail constants (some are for reference)
Const CdoBodyFormatHTML = 0 ' Body property is HTML
Const CdoBodyFormatText = 1 ' Body property is plain text (default)
Const CdoMailFormatMime = 0 ' NewMail object is in MIME format
Const CdoMailFormatText = 1 ' NewMail object is plain text (default)
Const CdoLow = 0 ' Low importance
Const CdoNormal = 1 ' Normal importance (default)
Const CdoHigh = 2 ' High importance
strFrom = "someone@microsoft.com" ' change to your email address
strTo = "someone@microsoft.com" ' change to the recipient's address
strSubject = "Test Message" ' change to your subject
' this line calls the ReadFile() function to read the page contents
strBody = ReadFile("C:\MAILOUT.TXT")
' this line calls the MakePage() function to format the page as HTML
strBody = MakePage(strSubject,strBody)
' the following section creates the mail object and sends the mail
Set objSendMail = CreateObject("CDONTS.NewMail")
objSendMail.From = strFrom
objSendMail.To = strTo
objSendMail.Subject = strSubject & " (" & Date() & ")"
objSendMail.Body = strBody
objSendMail.BodyFormat = CdoBodyFormatHTML
objSendMail.MailFormat = CdoMailFormatMime
objSendMail.Importance = CdoNormal
objSendMail.Send
Set objSendMail = Nothing
' this function returns a properly formatted HTML page
Function MakePage(txtSubject, txtBody)
Dim txtTemp
txtTemp = "<HTML>" & vbCrLf
txtTemp = txtTemp & "<HEAD><TITLE>"
txtTemp = txtTemp & txtSubject
txtTemp = txtTemp & "</TITLE></HEAD>" & vbCrLf
txtTemp = txtTemp & "<BODY>" & vbCrLf
txtTemp = txtTemp & "<H2>" & txtSubject & "</H2>" & vbCrLf
txtTemp = txtTemp & txtBody & vbCrLf
txtTemp = txtTemp & "</BODY>" & vbCrLf
txtTemp = txtTemp & "</HTML>"
MakePage = txtTemp
End Function
' this function opens a file and returns the file's contents
Function ReadFile(txtFile)
Dim txtTemp, objFS, objFL
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFL = objFS.OpenTextFile(txtFile)
Do While Not objFL.AtEndOfStream
txtTemp = txtTemp & objFL.ReadLine
txtTemp = txtTemp & vbCrLf
Loop
objFL.Close
Set objFS = Nothing
ReadFile = txtTemp
End Function
보낼 메일의 예약 작업을 만듭니다. 명령 세션을 열고 다음 예와 같이 입력합니다.
다음 작업은 오후 9시에 한 번 실행됩니다.
AT 9:00pm Cscript.exe C:\Mailout.vbs
다음 작업은 매주 월요일 오전 6시에 실행됩니다.
AT 6:00am /every:M Cscript.exe C:\Mailout.vbs
다음 작업은 매월 1일 오전 1시에 실행됩니다.
AT 1:00am /every:1 Cscript.exe C:\Mailout.vbs
요약
Windows NT Option Pack(NTOP) 및 Windows 2000은 SMTP(Simple Mail Transfer Protocol) 서비스를 기본적으로 설치하여 일반적으로 전자 메일 기반 HTML 양식 처리를 위한 ASP(Active Server Page)를 통해 이를 다양한 목적으로 사용할 수 있도록 합니다.
본 문서에서는 Windows Script Host(WSH) 및 SMTP 서비스의 CDONTS NewMail 개체의 전자 메일 기능을 사용하여 예약 메일 보내기를 만드는 절차를 설명합니다.
추가 정보
다음 예제에서는 메일 보내기를 위한 WSH 스크립트뿐만 아니라 메일 보내기를 위한 예약 작업 및 메일 내용을 업데이트할 수 있는 텍스트 파일의 작성을 단계별로 설명합니다.
예약 작업을 설정하는 첫 단계로 스케줄러 서비스가 실행 중인지 확인합니다.
작업 표시줄에서 시작, 설정을 차례로 누른 다음 제어판을 누릅니다.
제어판에서 서비스 애플릿을 두 번 누릅니다.
작업 스케줄러 서비스가 나올 때까지 아래로 스크롤합니다.
상태가 실행 중으로 표시되어 있는지 확인합니다.
시작이 자동으로 표시되어 있는지 확인합니다.
닫기를 눌러 서비스 애플릿을 종료하고 제어판을 닫습니다.
다음 내용의 텍스트 파일을 만들고 컴퓨터에 C:\Mailout.txt로 저장합니다.
<p>This is line 1.</p>
<p>This is line 2.</p>
WSH 스크립트를 만들어서 방금 만든 텍스트 파일을 읽습니다. 다음 코드를 복사하여 컴퓨터에 "C:\mailout.vbs"로 저장합니다. 보내는 사람/받는 사람을 사용자 지정하려면 strFrom 및 strTo 변수 값을 변경합니다.
'--------------------------------------------------------------------
'
' Mailout using CDONTS.NewMail
'
'--------------------------------------------------------------------
' declare all variables
Option Explicit
Dim objSendMail
Dim strTo, strFrom
Dim strSubject, strBody
' mail constants (some are for reference)
Const CdoBodyFormatHTML = 0 ' Body property is HTML
Const CdoBodyFormatText = 1 ' Body property is plain text (default)
Const CdoMailFormatMime = 0 ' NewMail object is in MIME format
Const CdoMailFormatText = 1 ' NewMail object is plain text (default)
Const CdoLow = 0 ' Low importance
Const CdoNormal = 1 ' Normal importance (default)
Const CdoHigh = 2 ' High importance
strFrom = "someone@microsoft.com" ' change to your email address
strTo = "someone@microsoft.com" ' change to the recipient's address
strSubject = "Test Message" ' change to your subject
' this line calls the ReadFile() function to read the page contents
strBody = ReadFile("C:\MAILOUT.TXT")
' this line calls the MakePage() function to format the page as HTML
strBody = MakePage(strSubject,strBody)
' the following section creates the mail object and sends the mail
Set objSendMail = CreateObject("CDONTS.NewMail")
objSendMail.From = strFrom
objSendMail.To = strTo
objSendMail.Subject = strSubject & " (" & Date() & ")"
objSendMail.Body = strBody
objSendMail.BodyFormat = CdoBodyFormatHTML
objSendMail.MailFormat = CdoMailFormatMime
objSendMail.Importance = CdoNormal
objSendMail.Send
Set objSendMail = Nothing
' this function returns a properly formatted HTML page
Function MakePage(txtSubject, txtBody)
Dim txtTemp
txtTemp = "<HTML>" & vbCrLf
txtTemp = txtTemp & "<HEAD><TITLE>"
txtTemp = txtTemp & txtSubject
txtTemp = txtTemp & "</TITLE></HEAD>" & vbCrLf
txtTemp = txtTemp & "<BODY>" & vbCrLf
txtTemp = txtTemp & "<H2>" & txtSubject & "</H2>" & vbCrLf
txtTemp = txtTemp & txtBody & vbCrLf
txtTemp = txtTemp & "</BODY>" & vbCrLf
txtTemp = txtTemp & "</HTML>"
MakePage = txtTemp
End Function
' this function opens a file and returns the file's contents
Function ReadFile(txtFile)
Dim txtTemp, objFS, objFL
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFL = objFS.OpenTextFile(txtFile)
Do While Not objFL.AtEndOfStream
txtTemp = txtTemp & objFL.ReadLine
txtTemp = txtTemp & vbCrLf
Loop
objFL.Close
Set objFS = Nothing
ReadFile = txtTemp
End Function
보낼 메일의 예약 작업을 만듭니다. 명령 세션을 열고 다음 예와 같이 입력합니다.
다음 작업은 오후 9시에 한 번 실행됩니다.
AT 9:00pm Cscript.exe C:\Mailout.vbs
다음 작업은 매주 월요일 오전 6시에 실행됩니다.
AT 6:00am /every:M Cscript.exe C:\Mailout.vbs
다음 작업은 매월 1일 오전 1시에 실행됩니다.
AT 1:00am /every:1 Cscript.exe C:\Mailout.vbs
'asp' 카테고리의 다른 글
오류가 있을때 트랜잭션 처리방법 (1) | 2007.05.03 |
---|---|
ASP로 완벽하게 다국어를 지원하는 방법 (0) | 2007.05.03 |
여러가지 리스트 페이징(6가지)를 100만개 테스트 (0) | 2007.05.03 |
ASP에서 쓰이는 내장함수 (0) | 2007.05.03 |
정규표현식을 사용한 태그삭제 및 자동링크 (2) | 2007.05.03 |