2009-10-19 7 views
1

표준 CDOSYS Message 개체를 사용하여 전자 메일을 생성하는 VBScript 코드를 포팅합니다. Message 객체에는 AutoGenerateTextBody 속성이 있습니다.이 속성을 true로 설정하면 HTMLBody 속성에 HTML을 할당하면 TextBody 속성 값이 자동으로 만들어집니다. 따라서 메시지 본문에 일반 text/plain 및 text/html 대안을 작성합니다..NET에서 CDOSYS AutoGenerateTextBody에 해당하는 것이 있습니까?

그러나 .NET에는이 기능이 없습니다. MailMessage 개체에는 대체보기를 만들 수 있지만 HTML 콘텐츠에서 텍스트 본문 콘텐츠를 쉽게 만들 수있는 방법은 없습니다.

자동 마술 옵션을 반드시 찾지는 않지만 HTML 문자열을 가져 와서 합리적인 일반 텍스트 표현으로 변환하는 솔루션이 필요합니다. 모든 HTML 마크 업을 삭제해도 문제가 해결되지 않습니다.

이 작업을 수행 할 수있는 기존 .NET Framework의 어딘가에 묻힌 도구가 있습니까?

답변

0

.NET 프레임 워크 자체에는 아무 것도 모르지만 CDO를 사용하면 변환 작업을 수행 할 수 있습니다. 틀림없이 그것은 약간 더러운 해킹처럼 느껴지지만 그 일을합니다!

합니다 ("참조 추가"대화 상자의 COM 탭에서) "Microsoft CDO에 대해 Windows 2000 라이브러리의"에 대한 참조를 추가하고 멀리 가서 :

public string GetTextBody(string htmlBody) 
{ 
    CDO.Message msg = new CDO.Message(); 
    msg.AutoGenerateTextBody = true; 
    msg.HTMLBody = htmlBody; 

    return msg.TextBody; 
} 
+1

감사합니다,하지만 감사합니다. ;) 차라리이 작업을 수행하는 CDOSYS에 대한 종속성을 추가하는 것보다 HTML-> 텍스트 변환을 작성하고 싶습니다. – AnthonyWJones

+0

@Anthony : 네, 완전히 동의합니다. 그 가능성을 언급 할 것만 같았습니다. – LukeH

관련 문제