수신 확인 프로그래밍 |
탭스 메일러 SMTP 컴포넌트 및 자바 클래스 라이브러리는 내부적으로 메시지 고유 ID와 수신 확인 URL을 자동으로 처리하지만 다른 방식(.NET 또는 PHP 등)으로 수신 확인을 구현할 때는 일련의 프로그래밍 작업을 진행해야 합니다.
사용할 캠페인 ID를 선택해 X-TABS-Campaign 헤더를 추가합니다.
UUID 형식으로 메시지 고유 ID를 생성해 X-TABS-MsgID에 추가합니다.
(X-TABS-MsgID는 메시지 별 고유 ID이므로 메일을 100통 보낼 경우 100개의 ID를 생성해야 합니다)
다음과 같은 이미지 태그를 생성해 메일 본문에 추가합니다.
Note |
---|
<img src="http://your_mailer_domain/trace/mailread.ashx?campaign=캠페인ID&msgid=메시지ID"> 예) <img src="http://your_mailer_domain/trace/mailread.ashx?campaign=63E3F849-267F-4B6B-BC6E-496295D789B3&msgid=EB7580D9-085F-4135-8DD8-C36046D3B165"> |
다음은 수신 확인 구현 방법에 따라 구현한 C# 코드입니다.
// 캠페인 ID 지정 string campaignId = "{63E3F849-267F-4B6B-BC6E-496295D789B3}" // 새 메시지 ID 생성 string msgId = Guid.NewGuid().ToString("B"); string readUrl = string.Format("http://your_mailer_domain/trace/mailread.ashx?campaign={0}&msgid={1}", campaignId, msgId); // 송수신자 지정 MailAddress from = new MailAddress("someone@tabslab.com", "보내는 사람 이름"); MailAddress to = new MailAddress("test@tabslab.com", "받는사람이름"); System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(from, to); message.Subject = "제목을 지정합니다."; message.SubjectEncoding = Encoding.GetEncoding("euc-kr"); message.Body = "<html><body>메일 본문을 지정합니다." + readUrl + "</body></html>"; message.BodyEncoding = Encoding.GetEncoding("euc-kr"); message.IsBodyHtml = true; // 릴레이 캠페인 지정 message.Headers.Add("X-TABS-Campaign", campaignId); // 수신 확인을 위한 메시지 ID 지정 message.Headers.Add("X-TABS-MsgID", msgId); System.Net.Mail.SmtpClient mailClient = new SmtpClient(); // 탭스 메일러 서버 지정 mailClient.Host = "127.0.0.1"; mailClient.Port = 6700; // 탭스 메일러 서버로 메일 전달 mailClient.Send(message);