Click or drag to resize

탭스 메일러 프로그래밍(Java)

탭스 메일러에 포함되어 있는 tabs.mailer4.smtp.Smtp 클래스를 사용하면 매우 간단한 프로그래밍 작업만으로 메일을 발송할 수 있습니다.

JSP 웹 사이트에 클래스 라이브러리 추가

Smtp 클래스를 사용하기 위해서는 탭스 메일러 내에 배포되는 tabsmailer4cli_4.0.0.x.jar 파일을 웹 사이트 WEB-INF/lib 폴더로 복사합니다. (jar 파일은 설치 폴더 아래에 존재하는 Java 폴더에 있습니다.) 톰켓을 재시작한 후 아래와 같이 Smtp 오브젝트를 생성할 수 있습니다.

java
import tabs.mailer4.smtp.*;

public void sendMail()
{
    Smtp smtp = new Smtp();    
}
간단한 메일 발송 예제

Smtp 오브젝트를 생성한 후 탭스 메일러와 연결 정보를 설정하고 메일 정보를 지정한 후 send 메서드를 호출하면 메일 메시지를 작성해 탭스 메일러로 전송합니다.

java
import tabs.mailer4.smtp.*;

public void sendMail()
{
    Smtp smtp = new Smtp();

    // 탭스 메일러 연결 정보를 지정합니다.
    smtp.setServerName("192.168.1.34");
    smtp.setPort(6700);

    // 발송자, 수신자, 메일 제목 및 내용을 지정합니다.
    smtp.setFromAddress("help@tabslab.com");
    smtp.addToAddr("user1@customers.com", "고객");
    smtp.setSubject("제목입니다.");
    smtp.setEncoding("base64");
    smtp.setCharset("euc-kr");
    smtp.setBodyHtml("<h1>테스트 본문입니다.</h1>");

    // 발송할 캠페인을 지정합니다.
    smtp.setCampaignID("63e3f849-267f-4b6b-bc6e-496295d789b3");

    try 
    {
        // 탭스 메일러로 메일을 전달합니다.
        smtp.send();            
        System.out.println("메일이 올바르게 전달되었습니다.");
    }
    catch (SmtpErrorException e)
    {
        System.out.println("오류 종류:" + e.getType());
        System.out.println("오류 코드:" + e.getCode());
        System.out.println("오류 설명:" + e.getDescription());
    }
}
탭스 메일러로 인증

안전한 메일 릴레이 환경을 구성을 위해 탭스 메일러 수신 부에 SMTP 인증이 설정되어 있다면 setSmtpAuthId와 setSmtpAuthPassword를 사용해 인증 계정과 암호를 지정합니다.

java
import tabs.mailer4.smtp.*;

public void sendMail()
{
    Smtp smtp = new Smtp();    
    smtp.setSmtpAuthId("tabsmailerauth");
    smtp.setSmtpAuthPassword("******");
}
수신 확인 프로그래밍

메일 수신 확인은 메일 메시지 내에 1x1 빈 이미지 태그를 삽입해서 수신자가 메일을 읽을 경우 이미지가 로딩되는 것을 서버 측에서 감지해 처리됩니다. setCampaignID로 발송할 켐페인을 지정하고 setTraceURL로 탭스 메일러가 제공하는 이미지 추적 URL을 설정하면 자동으로 수신 확인이 처리됩니다.

java
import tabs.mailer4.smtp.*;

public void sendMail()
{
    Smtp smtp = new Smtp();    

    smtp.setCampaignID("63e3f849-267f-4b6b-bc6e-496295d789b3");
    smtp.setTraceURL("http://yourdomain/trace/mailread.ashx");
}
예약 발송 프로그래밍

setSchedule을 지정된 시각에 발송이 시작되도록 예약할 수 있습니다. 해당 시각에 예약된 메일이 많을 경우 탭스 메일러 큐 알고리즘에 의해 예약 순으로 발송 시도됩니다.

java
import tabs.mailer4.smtp.*;

public void sendMail()
{
    Smtp smtp = new Smtp();    

    smtp.setSchedule("2012-05-25 08:49:04");
}