Click or drag to resize

PDF 보안 메일 전달하기

PDF 보안 메일은 일반 메일에 PDF 문서 파일을 첨부해서 발송되는 형태입니다. PdfDocument 오브젝트를 사용해 암호화된 PDF 문서를 정의하고 이를 메일에 첨부하는 방법을 설명합니다.

PDF 문서 정의하기

PdfDocument 오브젝트를 사용해 PDF 문서를 정의할 수 있습니다. PdfDocument 오브젝트를 생성한 후 FileName 프로퍼티에 첨부될 PDF 파일 이름을 지정합니다. PDF 문서 내용은 HTML을 기반으로 작성되므로 AddTocHtml 메서드를 사용해 PDF 문서 본문을 지정합니다. HTML이 별도의 파일에 저장되어 있을 경우 SecurePdfMail 오브젝트의 LoadTextFromFile 메서드를 사용해 처리할 수 있습니다.

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

Set pdfDoc = Server.CreateObject("TABSMailer4.PdfDocument")
pdfDoc.FileName = "테스트.pdf"
pdfDoc.AddTocHtml secMail.LoadTextFromFile("content.htm")
pdfDoc.UserPassword = "123"
Java
SecurePdfMail secMail = new SecurePdfMail();

PdfDocument pdfDoc = new PdfDocument();
pdfDoc.setFileName("테스트.pdf");
try
{
    pdfDoc.addTocHtml(secMail.loadTextFromFile("content.htm");
}
catch (Exception e)
{
}
pdfDoc.setUserPassword("123");

지정된 암호를 사용해 PDF 문서를 암호화하기 위해서는 UserPassword 프로퍼티에 암호를 지정합니다. 암호를 지정하지 않으면 일반 PDF 문서가 첨부되고 암호를 지정하면 암호화된 문서가 첨부됩니다. 암호화된 문서를 PDF 뷰어에서 열 경우 암호를 입력하는 창이 출력되며 올바른 암호를 입력해야만 문서가 열리게 됩니다.

메일에 PDF 문서 첨부하기

생성한 PdfDocument 오브젝트에 PDF 문서에 대한 정의가 완료되었으면 AddPdfDocument 메서드를 호출해 PDF 문서를 메일에 첨부할 수 있습니다. PDF 문서를 첨부한 후 탭스 메일러 서버에 연결해 메일을 전달하면 됩니다.

두 개 이상의 PDF 문서를 첨부하기 위해서는 PdfDocument 오브젝트를 필요한 만큼 생성하고 해당 오브젝트를 각각 AddPdfDocument 메서드를 통해 추가하면 됩니다. 추가된 PdfDocument 오브젝트를 제거하기 위해서는 ClearPdfDocument 메서드 사용할 수 있습니다.

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

'메일 송수신자 정보를 지정합니다.
secMail.FromAddress = "master@fromdomain.com"
secMail.AddToAddr "test@recvdomain.com", "테스트"
'메일 메시지를 구성합니다.
secMail.Subject = "테스트 메일 발송입니다."
secMail.Encoding = "base64"
secMail.Charset = "utf-8"
secMail.BodyHtml = secMail.LoadTextFromFile("C:\Template\mail.htm")

'PDF 문서를 정의합니다.
Set pdfDoc = Server.CreateObject("TABSMailer4.PdfDocument")
pdfDoc.FileName = "테스트.pdf"
pdfDoc.AddTocHtml secMail.LoadTextFromFile("C:\Template\pdf.htm")
pdfDoc.UserPassword = "!@#$"

'PDF 문서를 메일에 첨부합니다.
secMail.AddPdfDocument pdfDoc

'탭스 메일러 서버와 연결해서 전달합니다.
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
SecurePdfMail secMail = new SecurePdfMail();

// 메일 송수신자 정보를 지정합니다.
secMail.setFromAddress("master@fromdomain.com");
secMail.addToAddr("test@recvdomain.com", "테스트");
secMail.setSubject("테스트 메일 발송입니다.");
// 메일 메시지를 구성합니다.
secMail.setEncoding("base64");
secMail.setCharset("utf-8");
try
{
    secMail.setBodyHtml(secMail.loadTextFromFile("C:\\Template\\mail.htm"));
}
catch (Exception e) {}

// PDF 문서를 정의합니다.
PdfDocument pdfDoc = new PdfDocument();
pdfDoc.setFileName("테스트.pdf");
pdfDoc.setUserPassword("!@#$");

try
{
    pdfDoc.addTocHtml(secMail.loadTextFromFile("C:\\Template\\pdf.htm"));

    // PDF 문서를 메일에 첨부합니다.
    secMail.addPdfDocument(pdfDoc);

    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());
}
catch (Exception e)
{
    System.out.println("오류 설명:" + e.getMessage());
}
finally
{
    secMail.close();
}