2013-03-07 9 views
1

C#으로 메일 발신자를 만들었지 만 메일 본문에 문제가 있습니다. 사진, 링크 및 기타 요소없이 텍스트 만 보냅니다. 말할 것도없이, 나는 그 목적으로 RichTextBox을 사용했다.어떤 종류의 신체와 함께 메일을 보내려면 어떤 구성 요소가 필요합니까?

이제 제 질문은 그림, 링크 등으로 메일을 보낼 때 사용할 구성 요소는 무엇입니까?

또한 IsBodyHtml에서 true까지 가능합니다.

내가하고 싶은 것은 Microsoft Word에서 사진, 링크 및 텍스트 (색상 및 크기가 다름)를 복사하여 컨트롤에 붙여 넣는 것입니다. 사용자가 메일을 받으면 내가 보낸 것과 똑같은 몸체와 레이아웃을 얻습니다. 그들.

+1

글쎄, 당신은 HTML을 구성해야합니다, 당신을 위해 그것을 할 수 없습니다. – Arran

답변

1

html로 보내야합니다. doc이라는 단어를 html로 저장하고 사용하십시오. 문서의 이미지의 경우 절대 URL (인터넷을 통해 공개적으로 사용 가능)을 통해 해당 이미지를 가리킬 수 있습니다.

또는 LinkedResource 클래스를 사용할 수 있습니다.

LinkedResource 클래스를 사용하면 이미지에서 소스의 cid를 지정해야합니다.

var inlineLogo = new LinkedResource("path/myfile.png"); 
           inlineLogo.ContentId = Guid.NewGuid().ToString(); 

var imageHtmlFragment = string.Format("<img alt='My Logo' src='cid:{0}' style='width: 250px;height: 60px;'/>",inlineLogo.ContentId); 

var newMail = new MailMessage(); 

var view = AlternateView.CreateAlternateViewFromString(imageHtmlFragment, null, "text/html"); 
         view.LinkedResources.Add(inlineLogo); 
         newMail.AlternateViews.Add(view); 
관련 문제