none
아웃룩 VabProject로 자동 비밀참조 설정시, 다수의 이메일을 비밀참조로 설정하기 관련 질문 RRS feed

  • 질문

  • 안녕하세요. 구글 등을 검색해 봐도, 거의 답변이 없는데요, 그나마 답변있는 것 대로 실행해봐도 되지 않네요.

    우선 비주얼 베이직을 이용해서, 아래와 같이 VbaProject.OTM을 작성하였습니다.

    ----------

    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim objRecip As Recipient
    Dim strMsg As String
    Dim res As Integer
    Dim strBcc As String

    On Error Resume Next

    ' #### USER OPTIONS ####
    ' address for Bcc -- must be SMTP address or resolvable
    ' to a name in the address book
    strBcc = aaa@naver.com;bbb@naver.com

    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC

    If Not objRecip.Resolve Then
    strMsg = "Could not resolve the Bcc recipient. " & _
    "Do you want still to send the message?"
    res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
    "Could Not Resolve Bcc Recipient")
    If res = vbNo Then
    Cancel = True
    End If
    End If

    Set objRecip = Nothing
    End Sub

    -------------------

    이렇게 해서, aaa@naver.com 과 bbb@naver.com 에 자동으로 비밀참조를 넣으려고 하였지만, 중간에 세미콜론으로 연결된 이메일 주소는 인식하지 못하고 아래와 같이 오류가 뜹니다.

    "작업을 수행하지 못했습니다. 메시지 전달 인터페이스에서 알 수 없는 오류를 반환했습니다. 문제가 계속되면 Outlook을 다시 시작하십시오. 받는 사람을 확인할 수 없습니다."라는 팝업이 뜹니다.

    구글에 나와있는 여러가지 다른 방법으로 다중 수신처를 설정해봤지만, 모두 실패입니다. 방법을 아시는 분이 있으면 알려주시면 감사하겠습니다.

    2015년 5월 11일 월요일 오전 5:47

답변

  • 안녕하세요.

    다중송신에 대해서 몇자 적어봅니다.

    제 PC에는 지금 VB 가 깔려있지않아서 소스 동작확인은 하지 못한점 양해 부탁드립니다.

    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim objRecip As Recipient
    Dim strMsg As String
    Dim res As Integer
    Dim strBcc As String
    
    On Error Resume Next
    
    ' #### USER OPTIONS ####
    ' address for Bcc -- must be SMTP address or resolvable
    ' to a name in the address book
    strBcc = "aaa@naver.com;bbb@naver.com"
    
    'Set objRecip = Item.Recipients.Add(strBcc)
    'objRecip.Type = olBCC
    For i = 0 To i <= strResult.Length - 1 Step 1
        Set objRecip = Item.Recipients.Add(strResult(i))
        objRecip.Type = olBCC
    Next i
    
    If Not objRecip.Resolve Then
    strMsg = "Could not resolve the Bcc recipient. " & _
    "Do you want still to send the message?"
    res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
    "Could Not Resolve Bcc Recipient")
    If res = vbNo Then
    Cancel = True
    End If
    End If
    
    Set objRecip = Nothing
    End Sub
    

    이런식으로 되지않을까 싶습니다.

    한번 확인 부탁드립니다.

    결론을 드리자면,  ; 을 자동으로 인식시키지는 못하므로

    ;가 들어가있는 전체구문을 split 을 이용해서 잘라내고,

    그 카운터수 만큼 루프돌려서 Item.Recipients.Add 처리를 해버리면 될것 같습니다. 

    도움되시길 바랍니다.


    프로그램 개발에는 정답이 없다.

    2015년 5월 18일 월요일 오전 6:48