2014-01-08 2 views
0

내 전자 메일 주소에서 자동으로 많은 전자 메일을 보내는 Access 프로그램을 상속 받았습니다. 이제이 프로세스를 변경하여 우리가 사용하는 그룹 전자 메일 주소 ([email protected])에서 전자 메일을 보냅니다.VB에서 전자 메일 변경 보내기 "from"필드

두 개의 전자 메일 함, 광산 및 그룹 전자 메일이 있습니다. 내 주소 대신 그룹 전자 메일 주소를 사용하여 전자 메일을 보내려면 Access를 얻으려고하지만 아무런 성공도 얻지 못했습니다. 그룹 전자 메일을 사용하도록 Outlook에서 기본 전자 메일 계정을 변경했지만 [email protected]의 초안 폴더 대신 내 초안 폴더에 전자 메일을 계속 보관합니다.

나는 코드를 보았다 그것은 이메일 확인하려면이 옵션을 사용

Set olApp = CreateObject("Outlook.Application") 
Set olMail = olApp.CreateItem(0) 
With olMail 
.Subject = stSubject 

etc.etc을하지만 olMail가 액세스 할 수있는 '피하여'필드가 표시되지 않습니다.

출발지를 어떻게 변경할 수 있습니까? 또는 두 번째 전자 메일 상자 (전체 권한 있음)를 매크로가 인식하도록 하시겠습니까?

감사합니다.

답변

2

대리인 Exchange 사서함입니까? MAilItem.SentOnBehalfOfName 속성을 설정하십시오.

+0

가 감사 :

Sub SetSendingAcct(ByRef mi As Object, strAddress As String) ' mi as Outlook.MailItem Dim acct As Object 'Outlook.Account For Each acct In appOutlook.Session.Accounts If acct.SmtpAddress = strAddress Then Set mi.SendUsingAccount = acct mi.Display mi.Save ' This makes the change visible in the UI Exit For End If Next acct End Sub 

그런 다음 당신은 당신의 코드를 변경할 것입니다! .SentOnBehalfOfName = "[email protected]" 을 추가 한 것으로 나타났습니다. – KrisErickson

1

전 대리인이 아닌 여러 계정 (Exchange, IMAP)에서이 문제를 처리했습니다. IMAP 계정이 보내지는 기본값으로 설정되었지만 내가 만든 모든 MailItem은 Exchange 계정에서 가져옵니다. 이 하위를 선언하면 : 일

Dim strSMTP = "[email protected]" 
Set olApp = CreateObject("Outlook.Application") 
Set olMail = olApp.CreateItem(0) 
SetSendingAcct olMail, strSMTP 

With olMail 
    .Subject = stSubject