2016-08-12 5 views
0

win32ole을 사용하여 이메일 수신자를 변경하는 방법이 있습니까?WIN32OLE로 이메일 수신자 변경

outlook = WIN32OLE.new('Outlook.Application') 
message = outlook.CreateItem(0) 
message.Subject = 'Test email' 
message.Body = 'This is the test body' 
message.To = '[email protected]' 
message.From = ''[email protected]' #<= This doesn't work 
message.Save 
message.Send 

당신이 message.From를 실행하면 다음과 같은 오류 얻을 :

WIN32OLERuntimeError: unknown property or method: `From' 
    HRESULT error code:0x80020006 
     Unknown name. 

그래서 메시지에서 보낸 내가 선택할 수있는 방법이 있습니까?

답변

1

Exchange를 통해 보낼 때는 SentOnBehalfOfName 속성을 사용하십시오. 현재 사용자가 보낼 수있는 다른 Exchange 사용자의 이름을 포함해야합니다. 물론 사용자를 대신하여 보낼 권리가 있어야합니다.

SMTP를 통해 보낼 때 대신 MailItem.SendUsingAccount 속성을 설정하십시오. Namespace.Accounts 컬렉션에서 가져온 Account 개체 중 하나로 설정해야합니다.

+0

예를 들어 주시겠습니까? –

+0

예를 들면? Exchange 계정이나 SMTP 계정입니까? –

+0

교환 할 때 혼란 스럽습니다 –