Click or drag to resize

일반 메일 전달하기

PDF 보안 메일 발송 프로그래밍 개발에 앞서 SecurePdfMail 컴포넌트를 사용해 일반적인 메일을 발송하는 방법을 설명합니다. SecurePdfMail 컴포넌트는 기존 SMTP 컴포넌트에 비해 사용하기 편리하며 보다 빠른 속도로 탭스 메일러에게 발송할 메시지를 전달할 수 있습니다.

탭스 메일러 서버와 연결

SecurePdfMail 컴포넌트가 메일 메시지를 생성해서 수신자로 직접 메일을 발송하는 것이 아니고 메일 발송에 필요한 데이터를 모아서 탭스 메일러로 전송하는 방식으로 동작합니다. 탭스 메일러 서버는 이 데이터를 수신해서 메일 메시지를 구성한 후 실제 수신자에게 메일을 발송하게 됩니다.

탭스 메일러 서버로 데이터를 전송하기 전 우선 탭스 메일러 서버와 연결을 맺어야 합니다. ServerName 프로퍼티와 ServerPort 프로퍼티에 연결할 서버의 IP와 포트 번호를 지정한 후 Connect 메서드를 호출하면 탭스 메일러 서버와 연결됩니다. 메일 전달 작업을 마친 후 Close 메서드를 호출해 연결을 종료하도록 합니다.

ASP
Set secMail = Server.CreateObject("TABSMailer4.SecurePdfMail")

'탭스 메일러 서버로의 연결 정보를 지정합니다.
secMail.ServerName = "127.0.0.1"
secMail.ServerPort = 6700

'탭스 메일러 서버와 연결해서 전달합니다.
Set result = secMail.Connect()
If result.Type = 0 Then
    ......
    secMail.Close
Else
    Response.Write "오류 종류:" & result.Type & "<br>오류 코드:" & result.Code & "<br>오류 설명:" & result.Description
End If
Java
import tabs.mailer4.smtp.*;

SecurePdfMail secMail = new SecurePdfMail();

// 탭스 메일러 서버로의 연결 정보를 지정합니다.
secMail.setServerName("127.0.0.1");
secMail.setPort(6700);

try
{
    // 탭스 메일러 서버와 연결해서 전달합니다.    
    secMail.connect();
    ......
}
catch (SecurePdfMailErrorException e)
{
    System.out.println("오류 종류:" + e.getType());
    System.out.println("오류 코드:" + e.getCode());
    System.out.println("오류 설명:" + e.getDescription());
}
finally
{
    secMail.close();
}

탭스 메일러 서버는 허락되지 않은 사용자 또는 컴퓨터에서 메일을 전달하지 못하도록 보안 정책이 수립되어 있습니다. 탭스 메일러 서버가 아닌 다른 서버에서 탭스 메일러로 연결하기를 원한다면 IP 주소 접속 제한에 연결할 서버의 IP를 추가해 메일 전달을 허용해야 합니다. 또한 기본 인증을 통과한 곳에서만 메일을 전달하도록 설정되어 있다면 아래와 같이 SmtpAuthID 프로퍼티와 SmtpAuthPassword 프로퍼티를 지정해 인증을 통과하도록 프로그래밍해야 합니다.

ASP
Set secMail = Server.CreateObject("TABSMailer4.SecurePdfMail")

'탭스 메일러 서버로의 연결 정보를 지정합니다.
secMail.ServerName = "127.0.0.1"
secMail.ServerPort = 6700

'탭스 메일러 서버로의 기본 인증 값을 지정합니다.
secMail.SmtpAuthID = "tabsmailerauth"
secMail.SmtpAuthPassword = "********"

'탭스 메일러 서버와 연결해서 전달합니다.
Set result = secMail.Connect()
If result.Type = 0 Then
    ......
    secMail.Close
Else
    Response.Write "오류 종류:" & result.Type & "<br>오류 코드:" & result.Code & "<br>오류 설명:" & result.Description
End If
Java
import tabs.mailer4.smtp.*;

SecurePdfMail secMail = new SecurePdfMail();

// 탭스 메일러 서버로의 연결 정보를 지정합니다.
secMail.setServerName("127.0.0.1");
secMail.setPort(6700);

// 탭스 메일러 서버로의 기본 인증 값을 지정합니다.
secMail.setSmtpAuthID("tabsmailerauth");
secMail.setSmtpAuthPassword("********");

try
{
    // 탭스 메일러 서버와 연결해서 전달합니다.    
    secMail.connect();
    ......
}
catch (SecurePdfMailErrorException e)
{
    System.out.println("오류 종류:" + e.getType());
    System.out.println("오류 코드:" + e.getCode());
    System.out.println("오류 설명:" + e.getDescription());
}
finally
{
    secMail.close();
}
간단한 메일 전달

탭스 메일러와 연결에 성공했다면 간단한 메일을 발송해 볼 수 있습니다. 먼저 송수신자 정보를 지정하도록 합니다. FromAddressFromName을 사용해 발송자 정보를 지정하고 AddToAddr 메서드를 호출해 수신자를 추가합니다. 동일한 메시지를 여러 수신자에게 보내는 경우라면 AddToAddr 메서드를 여러 번 호출해서 다수의 수신자를 지정할 수 있습니다. 하지만 이 방법은 대량 메일 발송에는 유효하지 않습니다. AddToAddr 메서드로 추가된 수신자는 To 헤더에 모두 출력되므로 개별 메일로 보이지 않고 To 헤더가 길어질 경우 아웃룩 등에서 메일 읽기가 어려워지는 문제가 있습니다. 대량 메일 전달하기 문서를 참고 바랍니다.

송수신자를 지정한 후 Subject 프로퍼티와 BodyHtml 프로퍼티에 메시지 제목과 본문을 지정합니다. HTML 문서가 별도의 파일로 저장되어 있다면 LoadTextFromFile 메서드를 사용해 읽어 올 수 있습니다. 메시지를 구성하는 값 들의 지정이 끝났으면 탭스 메일러 서버와 연결하고 Send 메서드를 호출해 메시지 데이터를 탭스 메일러로 전송합니다.

ASP
Set secMail = Server.CreateObject("TABSMailer4.SecurePdfMail")

'탭스 메일러 서버로의 연결 정보를 지정합니다.
secMail.ServerName = "127.0.0.1"
secMail.ServerPort = 6700

'기본 릴레이 캠페인으로 지정합니다.
secMail.CampaignID = "63E3F849-267F-4B6B-BC6E-496295D789B3"

'메일 송수신자 정보를 지정합니다.
secMail.FromAddress = "master@fromdomain.com"
secMail.AddToAddr "test@recvdomain.com", "테스트"

'메일 메시지를 구성합니다.
secMail.Subject = "테스트 메일 발송입니다."
secMail.Encoding = "base64"
secMail.Charset = "utf-8"
secMail.BodyHtml = "<html><body>테스트 메일 발송입니다.</body></html>"

'탭스 메일러 서버와 연결해서 전달합니다.
Set result = secMail.Connect()
If result.Type = 0 Then
    Set result = secMail.Send()
    If result.Type = 0 Then
        Response.Write "메일이 올바르게 전달되었습니다."
    Else
        Response.Write "오류 종류:" & result.Type & "<br>오류 코드:" & result.Code & "<br>오류 설명:" & result.Description
    End If
    secMail.Close
Else
    Response.Write "오류 종류:" & result.Type & "<br>오류 코드:" & result.Code & "<br>오류 설명:" & result.Description
End If
Java
import tabs.mailer4.smtp.*;

SecurePdfMail secMail = new SecurePdfMail();

// 탭스 메일러 서버로의 연결 정보를 지정합니다.
secMail.setServerName("127.0.0.1");
secMail.setPort(6700);

// 기본 릴레이 캠페인으로 지정합니다.
secMail.setCampaignID("63E3F849-267F-4B6B-BC6E-496295D789B3");

// 메일 송수신자 정보를 지정합니다.
secMail.setFromAddress("master@fromdomain.com");
secMail.addToAddr("test@recvdomain.com", "테스트");

// 메일 메시지를 구성합니다.
secMail.setSubject("테스트 메일 발송입니다.");
secMail.setEncoding("base64");
secMail.setCharset("utf-8");
secMail.setBodyHtml("<html><body>테스트 메일 발송입니다.</body></html>");

try
{
    // 탭스 메일러 서버와 연결해서 전달합니다.    
    secMail.connect();
    secMail.send();
    System.out.println("메일이 올바르게 전달되었습니다.");
}
catch (SecurePdfMailErrorException e)
{
    System.out.println("오류 종류:" + e.getType());
    System.out.println("오류 코드:" + e.getCode());
    System.out.println("오류 설명:" + e.getDescription());
}
finally
{
    secMail.close();
}