2013-09-10 1 views
0

나는 outlook Redemption dll을 사용하여 C# 언어로 아웃룩 메시지 템플릿을 만든다.임베디드 이미지로 아웃룩 보너스

RedemptionLoader.DllLocation64Bit = Server.MapPath("~/bin/dlls/Redemption64.dll"); 
RedemptionLoader.DllLocation32Bit = Server.MapPath("~/bin/dlls/Redemption.dll"); 

Interop.Redemption.RDOSession session = RedemptionLoader.new_RDOSession(); 

var msg = session.GetMessageFromMsgFile(templatePath); 

msg.Subject = String.Format("Report"); 

String ImageString = Server.MapPath("~\\FolderName") + "\\" + ImageName; 
RDOAttachment Attach = msg.Attachments.Add(ImageString); 
Attach.ContentID = "image1"; 
String htb = "<html><head><title>The Title</title></head><body><h1>This is some text</h1>Image 1<br /><img src=cid:image1><br /></body></html>"; 

msg.HTMLBody = htb; 
msg.Save(); 
msg.SaveAs(newPath); 

모든 작업과 이미지가 새로운 위치에 저장됩니다 :

다음은 내 코드입니다. 하지만 그 메시지 템플릿을 확인할 때, 나는 어디에서나 Image를 볼 수 없었다. 이미지 대신 오류가 발생합니다. 대신에 포함 된 이미지의

enter image description here

업데이트 , 난 그냥이 파일을 첨부했습니다. 하지만 파일을 열 때 첨부 파일이 표시되지 않았습니다. 내가 OutlookSpy로 총 첨부물을 확인, 그것은 나를 0 첨부 파일을 보여줍니다. 첨부 파일에 대해 내 코드가 잘못 되었습니까?

+0

OutlookSpy (OpenIMsgOnIStg 클릭)와 함께 MSG 파일을보고 HTML이 맞고 첨부 파일이 올바른 값인 PR_ATTACH__CONTENTID에 있는지 확인 했습니까? –

+0

나는 outlookspy에 익숙하지 않다. 좀 더 자세한 정보를 주시겠습니까? – Hiren

+0

OpenIMsgOnIStg 클릭 - IMessage 창이 표시됩니다. PR_HTML 및 PR_RTF_COMPRESSSED 속성을 확인하십시오. GetAttachmentTabel 탭으로 이동하여 첨부 파일을 두 번 클릭합니다. PR_ATTACH_CONTENTID 속성이 올바르게 설정되어 있습니까? –

답변

1

해결책을 찾았습니다. 두 번 전화 해주세요. 템플릿 파일에 첨부 파일을 저장하고 새로운 인스턴스를 다시 만들 때 처음. 아래는 내 코드입니다 :

 RedemptionLoader.DllLocation64Bit = Server.MapPath("~/bin/dlls/Redemption64.dll"); 
     RedemptionLoader.DllLocation32Bit = Server.MapPath("~/bin/dlls/Redemption.dll"); 


     Interop.Redemption.RDOSession session1 = RedemptionLoader.new_RDOSession(); 


     var msg1 = session1.GetMessageFromMsgFile(templatePath); 


     msg1.Subject = String.Format("Report"); 

     String ImageString = Server.MapPath("~\\FolderName") + "\\" + ImageName; 
     RDOAttachment Attach = msg1.Attachments.Add(ImageString); 
     Attach.ContentID = "image1"; 
     String htb = "<html><head><title>The Title</title></head><body><h1>This is some text</h1>Image 1<br /><img src=cid:image1><br /></body></html>"; 

     msg1.HTMLBody = htb; 
     msg1.Save(); 

     Interop.Redemption.RDOSession session = RedemptionLoader.new_RDOSession(); 


     var msg = session.GetMessageFromMsgFile(templatePath); 
     msg.SaveAs(newPath); 

이 작품은 저에게 좋습니다.