단순 답변 가능합니다.
필자는 Office365에서 전자 메일을 처리하기위한 콘솔 프로그램을 작성하여 SQL과도 상호 작용하고 있으므로 확실히 수행 할 수 있습니다. 그것은 반드시 세계에서 가장 쉬운 일은 아니지만 너무 어렵지 않습니다.
당신은 그것을 진술에 Exchange 웹 서비스 (EWS)가 API를
제를 관리 사용이 가능하며 당신이 API (이 링크를 참고를 찾을 수 있습니다
Github의 위치는 바로 API 문서 https://msdn.microsoft.com/en-us/library/office/dd877012(v=exchg.150).aspx
형성 마이크로 소프트의 사이트) 위의 두 번째 링크를 포함하는 어셈블리 참조하는 방법에 대한
https://github.com/officedev/ews-managed-api
링크 : https://msdn.microsoft.com/en-us/library/office/dn528373(v=exchg.150).aspx
를
만들고
string emailAddress = '[email protected]';
ExchangeService exService = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
exService.Credentials = new WebCredentials(emailAddress,"password");
하면 자동 검색 할 수 있습니다 서비스에 연결하거나 URL을 알고 있다면 바로이 라인의 이렇게 1
exService.AutodiscoverUrl(_emailAddress, delegate { return true; });
exService.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
하기에 파일을 이동하는받은 편지함 & 폴더 찾기로 설정 가공 후 :
FolderView folderView = new FolderView(1);
folderView.PropertySet = new PropertySet(BasePropertySet.IdOnly);
folderView.PropertySet.Add(FolderSchema.DisplayName);
folderView.Traversal = FolderTraversal.Deep;
SearchFilter searchFilter = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "ProcessedFolderName");
Folder Inbox = Folder.Bind(exService, WellKnownFolderName.Inbox);
FindFoldersResults folderResults = Inbox.FindFolders(searchFilter, folderView);
FolderId processedFolderId = folderResults.Folders[0].Id;
당신의 기준을 충족하는 메시지 찾기 :
완료되면 첨부 파일을 저장하고 다른 폴더로 이동하여 동일한 파일을 계속 가져 오지 마십시오.
foreach (Item i in findResults.Items)
{
foreach(FileAttachment attachment in i.Attachments)
{
attachment.Load(@"\\FilePathDirectory\" + attachment.FileName);
}
i.Move(processedFolderId);
}
더 결과를 자신에게 오류 메시지를 보내거나 픽업 SSIS에 대한 오류를 던지는을 얻을하고 작업을 실패 할 경우 테스트하여 솔루션을 확장 할 수 있습니다.처리 할 메시지가 여러 개있는 경우 파일을 여러 번 덮어 쓰게되므로 동일한 이름을 사용하는 대신 파일 이름에 고유 한 이름을 추가하는 것이 좋습니다. 그러나 SSIS에서도 다른 문제가 발생합니다.
어쨌든 도움이되기를 바랍니다.
SSIS가 전자 메일에서 첨부 파일을 열어서 다운로드 할 수 있다고 생각하지 않지만이 기능이 추가되었으므로 Task Factory를 체크 아웃 할 수 있습니다. http://pragmaticworks.com/Products/Task-Factory –
규칙을 사용하여 달성하는 방법이 있는지 궁금합니다. 최악의 시나리오는 웹 서비스 교환을위한 작은 C# 서비스/앱을 만듭니다. – Charleh
@Charleh 네이티브 규칙이 없지만 오래된이 링크를 기반으로합니다 http://www.pixelchef.net/ content/rule-autosave-attachment-outlook은 그것을 수행 할 규칙을 만드는 VBA 코드가 매우 쉽다는 것을 보여줍니다. 이 경로의 유일한 문제점은 서버 측 규칙이 아니라 데스크탑이기 때문에 이메일을 올바른 시간에 열어야한다는 것입니다. – Matt