2015-01-07 2 views
1

처리가 완료된 후 Microsoft Exchange를 사용하여 전자 메일을 자동으로 보내는 프로그램을 만들고 있습니다. 전자 메일을 보낼 때 사용자가 인터넷에 연결되어 있지 않으면 프로그램은 전자 메일을 로컬 .eml 파일로 저장합니다. 별도의 서비스는 사용자 연결이 백업 될 때 주기적으로 이러한 전자 메일을 확인하고 보냅니다.인터넷 연결을 사용하지 않고 EmailMessage 개체 만들기

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); 
service.Credentials = new WebCredentials("[email protected]", "Password"); 
service.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback); 
EmailMessage message = new EmailMessage(service); 

내가 실행 해요 문제 EmailMessage을 절약하기 위해 내가 서비스 객체를 초기화 할 필요가있다 : 여기

은 서비스를 설정하고 메시지 객체를 생성하는 내 코드입니다 . 그러나 서비스는 URL을 자동 검색해야합니다. 이 서비스를 설정하기 위해 인터넷을 요구하면 내가하려는 일의 요점을 잃어 버리게됩니다.

서비스가 필요없고 인터넷이 필요없이이 EmailMessage 개체를 설정할 수있는 방법이 있습니까?

답변

1

자동 검색 기능을 반드시 사용할 필요는 없습니다. Exchange URL을 미리 알고 있으면 수동으로 제공 할 수 있습니다.

대신

service.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback); 

사용하면 EmailMessage 클래스가 제공하는 MimeContent를 사용하는 경우 당신은 EML 파일 예로 메시지를 저장하는 방법

service.Url = new Uri("https://example.com/EWS/Exchange.asmx"); 
+0

이렇게하면 AutodiscoverUrl에서 속도 문제가 해결되었습니다. 감사! – Lohkii

0

다음 무엇을 당신의 습관 일을하려고 Exchange에 연결하지 않아도됩니다. MimeContent는 Exchange Store에서 생성되므로 Exchange Store에있는 메시지에 대해 채워진 속성 만 가져옵니다.

처음부터 메시지를 생성하는 경우 송신 준비가 될 때까지 데이터를 사용자 고유의 직렬화 형식으로 저장하면 Mime 콘텐츠가 아직 생성되지 않은 경우 EML 파일을 사용하는 데 이점이 없어야합니다.

건배 글렌

관련 문제