Click or drag to resize

메일 발송

메일 발송을 위해 메일 메시지를 생성하고 전달하는 특별한 SMTP 컴포넌트 없이 데이터베이스에 발송할 내용을 추가하는 것만으로 메일을 발송할 수 있습니다. 탭스 메일러 데이터베이스로 연결한 후 SendMessage 테이블에 레코드를 추가하면 탭스 메일러 발송 엔진이 직접 추가한 레코드를 참조해 메일 메시지를 작성하고 발송합니다.

sendmessage 테이블 구조

필드

데이터 형식

NULL 허용

설명

sm_cid

uniqueidentifier

NULL

릴레이 캠페인 ID(UUID)입니다. NULL일 경우 기본 릴레이 캠페인으로 발송됩니다.

sm_msgid

uniqueidentifier

NULL

메시지 고유 ID(UUID)입니다. 링크 방식의 수신 확인을 구현하기 위해서 사용됩니다. 수신 확인이 불필요한 경우는 NULL을 지정합니다.

sm_fromname

NVARCHAR(128)

NULL

발송자 이름입니다.

sm_fromaddr

NVARCHAR(128)

NOT NULL

발송자 메일 주소로 반드시 필요합니다.

sm_toname

NVARCHAR(128)

NULL

수신자 이름입니다.

sm_toaddr

NVARCHAR(128)

NOT NULL

수신자 메일 주소로 반드시 필요합니다.

sm_subject

NVARCHAR(200)

NOT NULL

메일 제목입니다.

sm_htmlbody

NTEXT

NULL

HTML로 제작된 메일 본문입니다.

sm_textbody

NTEXT

NULL

일반 텍스트로 제작된 메일 본문입니다.

sm_charset

NVARCHAR(50)

NULL

제목 및 본문 인코딩에 사용될 문자셋을 지정합니다. 한글은 euc-kr 또는 ks_c_5601-1987을, 일본어는 euc-jp, shift_jis를, 중국어는 gb2312를 지정합니다. 언어에 의존하지 않는 유니코드를 사용하려면 utf-8을 지정합니다. NULL을 지정할 경우 utf-8로 인코딩됩니다.

sm_attach1_name

NVARCHAR(128)

NULL

첫 번째 첨부 파일 이름입니다. 경로를 포함하지 않는 파일 명을 지정해야 합니다.

sm_attach1_data

IMAGE

NULL

첫 번째 첨부 파일 바이너리 데이터입니다.

sm_attach2_name

NVARCHAR(128)

NULL

두 번째 첨부 파일 이름입니다. 경로를 포함하지 않는 파일 명을 지정해야 합니다.

sm_attach2_data

IMAGE

NULL

두 번째 첨부 파일 바이너리 데이터입니다.

sm_addheader1

NVARCHAR(128)

NULL

추가 MIME 헤더를 지정합니다.

sm_addheader2

NVARCHAR(128)

NULL

추가 MIME 헤더를 지정합니다.

sm_schedule

DATETIME

NULL

예약 발송 시각 입니다. NULL일 경우 즉시 발송됩니다.

하나의 메시지당 하나의 레코드를 작성해 SendMessage 테이블에 삽입하면 발송됩니다.

캠페인 단위로 제공되는 발송 통계 정보를 확인하기 위해서는 sm_cid에 캠페인 ID를 지정해야 합니다. 캠페인 ID는 관리 도구에서 캠페인 기본 정보를 확인하면 ID 값을 볼 수 있습니다.

간단한 메일 발송 예제

메일 발송을 위해 SendMessage 테이블에 하나의 레코드를 추가하는 예제입니다.

ASP에서 발송할 경우 CreateObject() 대신 Server.CreateObject()를 사용해야 합니다.

대량의 메일을 보내기 위해서는 데이터베이스 연결과 테이블을 열어 놓은 상태에서 rs.AddNew와 rs.Update를 반복적으로 호출해서 레코드를 추가할 수 있습니다.

iDim conn, connStr, 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

'데이터베이스에 연결합니다.
connStr = "PROVIDER=SQLOLEDB;Data Source=(local)\TabsMailer4;Initial Catalog=TabsMailer4;User ID=sa;Password=!q7hfnl3sh62@;"
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