VBScript 전체 소스 |
VBScript로 작성된 데이터베이스 기반 발송 예제 소스 코드입니다.
Option Explicit '---- CursorTypeEnum Values ---- Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 '---- LockTypeEnum Values ---- Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4 '---- CommandTypeEnum Values ---- Const adCmdUnknown = &H0008 Const adCmdText = &H0001 Const adCmdTable = &H0002 Const adCmdStoredProc = &H0004 Const adCmdFile = &H0100 Const adCmdTableDirect = &H0200 '---- StreamTypeEnum Values ---- Const adTypeBinary = 1 Const adTypeText = 2 Dim connStr connStr = "PROVIDER=SQLOLEDB;Data Source=(local)\TabsMailer4;Initial Catalog=TabsMailer4;User ID=sa;Password=!q7hfnl3sh62@;" Call SimpleMail Call SimpleAttachMail Call ReadReceiptMail Sub SimpleMail Dim conn, rs Dim fromName, fromAddr, toName, toAddr, subject, htmlbody, charset, schedule fromName = "기술지원" fromAddr = "help@tabslab.com" toName = "홍길동" toAddr = "hong@poporo.co.kr" subject = "테스트 메일입니다." htmlbody = "<html><body><h1>테스트 메일입니다.</h1></body></html>" charset = "euc-kr" schedule = Now Set conn = CreateObject("ADODB.Connection") conn.Open connStr Set rs = CreateObject("ADODB.Recordset") rs.Open "SendMessage", conn, adOpenDynamic, adLockPessimistic, adCmdTable rs.AddNew rs.Fields("sm_fromname").Value = fromName rs.Fields("sm_fromaddr").Value = fromAddr rs.Fields("sm_toname").Value = toName rs.Fields("sm_toaddr").Value = toAddr rs.Fields("sm_subject").Value = subject rs.Fields("sm_htmlbody").Value = htmlbody rs.Fields("sm_charset").Value = charset rs.Fields("sm_schedule").Value = schedule rs.Update rs.Close conn.Close End Sub Sub SimpleAttachMail Dim conn, rs, stream Dim fromName, fromAddr, toName, toAddr, subject, htmlbody, charset, attachFile, attachData fromName = "기술지원" fromAddr = "help@tabslab.com" toName = "홍길동" toAddr = "hong@poporo.co.kr" subject = "테스트 메일입니다." htmlbody = "<html><body><h1>테스트 메일입니다.</h1></body></html>" charset = "utf-8" attachFile = "tulip.jpg" Set stream = CreateObject("ADODB.Stream") stream.Type = adTypeBinary stream.Open stream.LoadFromFile attachFile attachData = stream.Read Set conn = CreateObject("ADODB.Connection") conn.Open connStr Set rs = CreateObject("ADODB.Recordset") rs.Open "SendMessage", conn, adOpenDynamic, adLockPessimistic, adCmdTable rs.AddNew rs.Fields("sm_fromname").Value = fromName rs.Fields("sm_fromaddr").Value = fromAddr rs.Fields("sm_toname").Value = toName rs.Fields("sm_toaddr").Value = toAddr rs.Fields("sm_subject").Value = subject rs.Fields("sm_htmlbody").Value = htmlbody rs.Fields("sm_charset").Value = charset rs.Fields("sm_attach1_name").Value = attachFile rs.Fields("sm_attach1_data").Value = attachData rs.Update rs.Close conn.Close End Sub Sub ReadReceiptMail Dim conn, rs Dim campaignId, msgId, fromName, fromAddr, toName, toAddr, subject, htmlbody, charset, rrlink campaignId = "{C9A93169-B1C9-4EB8-BE36-AA1412FC14A0}" msgId = GetGuid() fromName = "기술지원" fromAddr = "help@tabslab.com" toName = "홍길동" toAddr = "hong@poporo.co.kr" subject = "테스트 메일입니다." rrlink = "<img src='http://tabsmailer4.tabslab.com/trace/mailread.ashx?campaign=" & campaignId & "&msgid=" & msgId & "'>" htmlbody = "<html><body><h1>테스트 메일입니다.</h1>" & rrlink & "</body></html>" charset = "euc-kr" Set conn = CreateObject("ADODB.Connection") conn.Open connStr Set rs = CreateObject("ADODB.Recordset") rs.Open "SendMessage", conn, adOpenDynamic, adLockPessimistic, adCmdTable rs.AddNew rs.Fields("sm_cid").Value = campaignId rs.Fields("sm_msgid").Value = msgId rs.Fields("sm_fromname").Value = fromName rs.Fields("sm_fromaddr").Value = fromAddr rs.Fields("sm_toname").Value = toName rs.Fields("sm_toaddr").Value = toAddr rs.Fields("sm_subject").Value = subject rs.Fields("sm_htmlbody").Value = htmlbody rs.Fields("sm_charset").Value = charset rs.Update rs.Close conn.Close End Sub Function GetGuid() Dim typeLib Set typeLib = CreateObject("Scriptlet.TypeLib") GetGuid = Left(CStr(typeLib.Guid), 38) Set typeLib = Nothing End Function