00s_tag_label>
00s_tag_label>
C#, .NET, 아웃룩, msg, 저장, 이메일, email, C sharp, 프로그래밍, Outlook, Save, Microsoft
2. 네이스페이스에 아래를 추가합니다.
3. 폼에 "Button"과 "TextBox"를 배치합니다. Button 클릭시 Text Box에 받은 편지함의 내용을 표시합니다.
4. C# Outlook 메일 MSG 화일로 저장하기 소스 코드
C#, .NET, 아웃룩, msg, 저장, 이메일, email, C sharp, 프로그래밍, Outlook, Save, Microsoft
C#을 이용하여 Outlook에 저장된 메일을 ".msg" 형태로 로컬 컴퓨터의 하드디스크로 저장하는 방법을 소개합니다. 본 소스에서 사용한 Outlook 메일박스는 "받은편지함"의 받은 편지를 대상으로 소개합니다.
참고로 아웃룩 익스프레스(Outlook Express)가 아니라 MS Office 제품군에 있는 "Microsoft Office Outlook" 이오니 혼동하지 않기를 바랍니다.
아래 코드를 테스트 하기위해서는 C# 폼에 "TextBox"와 "Button" 을 배치해 놓고 테스트 해 보시기 바랍니다.
참고로 아웃룩 익스프레스(Outlook Express)가 아니라 MS Office 제품군에 있는 "Microsoft Office Outlook" 이오니 혼동하지 않기를 바랍니다.
아래 코드를 테스트 하기위해서는 C# 폼에 "TextBox"와 "Button" 을 배치해 놓고 테스트 해 보시기 바랍니다.
프로그램 코딩 환경은 아래와 같습니다.
* O/S : MicroSoft XP Pro
* MS Office 버젼 : 2007
* 개발 툴 : VisualStudio 2008
* O/S : MicroSoft XP Pro
* MS Office 버젼 : 2007
* 개발 툴 : VisualStudio 2008
우선 "Microsoft Outlook 12.0 Object Library" Component를 레퍼런스에 추가합니다.
( "Microsoft Outlook Object Library 버전은 자신의 컴퓨터에 설치된 Outlook 버전에 따라 다를 수가 있으니 맞게 선택하시면 됩니다. )
1. "Microsoft Outlook 12.0 Object Library" 추가하기
1) 메뉴에서 [Project]->[Add Reference] 클릭 2) COM 탭으로 이동후 3) Microsoft Outlook 12.0 Object Library 찾아서 선택후 "OK"
2. 네이스페이스에 아래를 추가합니다.
-
using Outlook = Microsoft.Office.Interop.Outlook;
3. 폼에 "Button"과 "TextBox"를 배치합니다. Button 클릭시 Text Box에 받은 편지함의 내용을 표시합니다.
4. C# Outlook 메일 MSG 화일로 저장하기 소스 코드
Outlook.Application app = null; Outlook._NameSpace ns = null; Outlook.MAPIFolder inboxFolder = null; private void button1_Click(object sender, EventArgs e) { app = new Outlook.Application(); ns = app.GetNamespace("MAPI"); ns.Logon(null, null, false, false); inboxFolder = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox); textBox1.Text = string.Format("Folder Name: {0}\r\n, EntryId: {1}", inboxFolder.Name.ToString(), inboxFolder.EntryID.ToString()) + "\r\n"; for (int i = 1; i <= inboxFolder.Items.Count; i++) { Outlook.MailItem mailitem = (Microsoft.Office.Interop.Outlook.MailItem)inboxFolder.Items[i]; textBox1.Text += string.Format("Item: {0}", i.ToString()) + "\r\n"; textBox1.Text += string.Format("Subject: {0}", mailitem.Subject) + "\r\n"; textBox1.Text += string.Format("Sent: {0} {1}", mailitem.SentOn.ToLongDateString(), mailitem.SentOn.ToLongDateString()) + "\r\n"; textBox1.Text += string.Format("Categories: {0}", mailitem.Categories) + "\r\n"; textBox1.Text += string.Format("Body: {0}", mailitem.Body) + "\r\n"; textBox1.Text += string.Format("HTMLBody: {0}", mailitem.HTMLBody) + "\r\n"; mailitem.SaveAs(@"e:\savemsg\test" + i + ".msg", Outlook.OlSaveAsType.olMSG); } }
위 코드를 실행하면 아래와 같은 화면이 로딩 됩니다. 버튼을 클릭하면 Outlook의 받은 편지함 내용을 텍스트 박스에 표시합니다.
그리고 소스 코드에서 설정한 폴더로 이동하면 받은 편지함의 메일이 msg로 저장된 것을 확인 할 수 있습니다.
실행시 결과 화면
그리고 소스 코드에서 설정한 폴더로 이동하면 받은 편지함의 메일이 msg로 저장된 것을 확인 할 수 있습니다.
저장된 MSG 화일
C# 아웃룩(Outlook) 메일 MSG(.msg) 화일로 저장하기
http://all4cs.tistory.com - 두그미의 사는 이야기
'IT' 카테고리의 다른 글
C# XML에 이미지 저장 및 가져오기(Base64 인코딩, 디코딩) (12) | 2012.02.12 |
---|---|
C# XML 저장, 로딩 및 수정 / C# How To Modify and Save XML in the .NET (10) | 2012.01.13 |
C# 프로그램 중복 실행 방지 Mutex / C# Using a mutex to prevent multiple application from running (4) | 2011.11.18 |
C# 윈도우 시작프로그램 등록, 삭제 / C# Add,Remove registry entries for windows startup (5) | 2011.11.03 |
C# 외부 프로그램 종료하기 / C# Process.GetProcessesByName (0) | 2011.10.21 |