메일 발송 |
메일 발송을 위해 메일 메시지를 생성하고 전달하는 특별한 SMTP 컴포넌트 없이 데이터베이스에 발송할 내용을 추가하는 것만으로 메일을 발송할 수 있습니다. 탭스 메일러 데이터베이스로 연결한 후 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