배움터  
  HOME > 배움터 > Daily Tip
Daily Tip

제품:   Access 버전:   공통
검색어:   메일, 그룹
제목:   그룹메일 보내기 (2)
     
 

New Page 2
  STEP> 따라하기

※ 아래 Daily Tip은 염기웅님이 제공해주신 내용입니다

지난 시간에 액세스를 통해 이메일을 발송하는 방법에 대한 개요에 대하여 알아 보았습니다. 오늘은 실제로 어떻게 구현하는지를 살펴보아야 할 시간입니다. 한정된 지면으로 인해 상세한 설명이 어려운 것을 이해해 주기 바랍니다. 여러분들이 쉽게 여러분의 응용프로그램에 적용하는 것을 목표로 설명합니다. 각각의 기능을 상세히 이해하는데 목적이 있지는 않습니다.

1. 이메일 발송을 위한 준비 작업

• 이메일 발송 함수 삽입하기
샘플 파일(지난번 데일리팁 참고)을 열어 보면 basSendMail 이라는 모듈이 있습니다. 이 모듈에는 다음과 같은 sbSendMail 이라는 함수가 하나 정의되어 있습니다.

Public Sub sbSendMail(strEmailReceiver As String, _
                       strSubject As String, _
                       strBody As String, _
                       Optional lngBodyFormat As OlBodyFormat =
                       olFormatPlain _ )
'
작성일: 2004-5-6
'
작성자: 염기웅
'
기능: 특정한 사람() 에게 이메일을 발송한다.
'
'strEmailReceiver :
받는 사람() 여러명일 경우 ; 으로 구분
' 예) aamadeus@dbabc.com;webmaster@dbabc.com
'strSubject :
이메일 제목
'strBody :
이메일 본문
'lngBodyFormat :
이메일 본문 형식(olFormatHTML 혹은 olFormatPlain 추천)
'  olFormatHTML : HTML
형식의 본문
'  olFormatPlain :
일반 Text 형식으로 전송
'  olFormatRichText : Rich Text
형식(Rtf)으로 전송
'  olFormatUnspecified :
형식 지정 안함 

    Dim objOutlook As Outlook.Application
    Dim itmNewEmail As Outlook.MailItem   

    Set objOutlook = New Outlook.Application   

    Set itmNewEmail = objOutlook.CreateItem(olMailItem)   

    With itmNewEmail
        .To = strEmailReceiver
        .Subject = strSubject
        .BodyFormat = lngBodyFormat       

        Select Case lngBodyFormat
            Case olFormatHTML
                .HTMLBody = strBody
            Case olFormatPlain
                .Body = strBody
            Case olFormatRichText
                .HTMLBody = strBody
            Case olFormatUnspecified
                .Body = strBody
        End Select 

        .Display
        .Send
    End With

End Sub

이 함수를 여러분이 사용하는 응용프로그램에 복사하면 됩니다. 물론, ‘모듈’에 삽입해야 합니다. 폼이나 보고서의 ‘모듈’이 아닌, 데이터베이스 창에서의 ‘모듈’입니다. 이 함수의 각 부분을 자세히 설명하지는 않습니다. 하지만, 이 함수를 어떻게 사용해야 하는지는 알아야겠죠.

상식적으로 생각해 보면, 이메일을 발송할 때는 ‘받는 사람 주소’, ‘제목’, ‘내용’ 등이 필요하게 됩니다. 이 함수의 경우도 마찬가지 인수를 입력 받습니다. 순서대로 ‘strEmailReceiver’, ‘strSubject’, ‘strBody’ 입니다. 선택사항으로 이메일의 형식을 지정하는 것이 있는데, olFormatHTML, olFormatPlain, olFormatRichText, olFormatUnspecified 가 있습니다. 이 중에 olFormatHTML 과 olFormatPlain 만 구분하여 알아두면 됩니다. 나머지 옵션은 사용할 일이 없다고 보면 됩니다
 

sbSendMail 함수의 용법
sbSendMail(
받을사람_이메일주소, 이메일제목, 이메일본문, 이메일형식)
이메일형식에 사용되는 변수(1)
olFormatHTML: html
형식으로 이메일을 발송합니다.
olFormatPlain: 일반 텍스트 형식으로 이메일을 발송합니다. (기본값)

예를 들어, 받을 사람 이메일 주소가 receiver@officetutor.com 이고, 제목은 ‘이메일테스트’ 그리고 본문은 ‘이메일 테스트중입니다.’ 라고 한다면 간단하게

sbSendMail(“receiver@officetutor.com”, “이메일테스트”, “이메일 테스트중입니다.”)

같은 형식으로 메일을 보내면 됩니다

Outlook 개체 참조시키기
앞 단계에서처럼 모듈에 sbSendMail 함수를 정의한다고 해서 이메일 발송이 잘 되는 것은 아닙니다. 지난시간에 말씀드린 것처럼, 액세스가 이메일을 발송하는 것이 아니고, 아웃룩의 메일 발송 기능을 빌려다 쓰는 개념이기 때문에, 아웃룩의 기능을 사용한다는 명령을 액세스에 내려 주어야 합니다.

<1> 여러분의 응용프로그램에서 VBE(Visual Basic Editor)를 엽니다.

<2> VBE의 메뉴에서 도구-참조를 클릭합니다.

<3> 다음과 같은 참조창이 나타납니다. 아마 Microsoft Outlook Object Library 라는 것은 보이지 않을 것입니다. 혹시 이것이 보이고, 체크되어 있다면 이 과정은 생략해도 좋습니다.

<4> Microsoft Outlook Object Library를 찾습니다. 여러분의 오피스 버전에 따라 중간의 숫자는 다르게 나타납니다. Microsoft Outlook Object Library를 찾아 체크하고 확인 버튼을 클릭합니다.

<5> 창이 닫힙니다. 다시 한 번 도구-참조를 클릭하여 다음과 같이 구성되어 있는지 확인합니다.

지금까지 한 작업이 액세스에서 이메일을 보내기 위해 아웃룩의 기능을 사용할 것이라는 명령을 내린 것입니다.

2. 테스트 이메일 발송해 보기

<1> 샘플파일을 엽니다. 혹은 앞의 단계를 따라했다면 자신의 응용프로그램을 열어도 좋습니다.

<2> VBE를 열기 위해 도구-매크로-Visual Basic Editor를 차례로 클릭합니다. (Ctrl-G 키를 눌러도 됩니다.)

<3> 다음 그림과 같이 VBE가 나타납니다. 이 그림에는 직접 실행창이 보입니다. 개인 PC의 설정에 따라, 직접 실행창이 보이지 않을 수 있습니다. 직접 실행 창을 보기 위해서는 다음 과정을 따라하기 바랍니다.

<4> 직접 실행창을 보기 위해서 VBE의 메뉴에서 보기-직접 실행 창을 클릭합니다. 그러면 직접 실행창이 보일 것입니다.

<5> 직접 실행창비주얼 베이직 명령을 바로 실행해 볼 수 있는 곳입니다. 알고 있으면 간단한 테스트 등을 할 때 유용하게 사용할 수 있습니다. 직접 실행창에서 sbSendMail 함수를 실행시켜 보도록 하겠습니다. 다음과 같이 입력하고 Enter키를 치면…

<6> 다음과 같이 이메일 발송 창이 표시됩니다.

오늘은 여기까지 알아보겠습니다. 오늘은 간단하게, 액세스에서 이메일을 발송하는 기능을 자신의 응용프로그램에 적용하는 방법에 대하여 알아보있습니다. 앞으로 많이 활용하기 바랍니다.