2012-01-13 8 views
0

Я использую следующий код для вставки изображений в свой MailMessage. То, что я пытаюсь сделать, это вставить документы (pdf или docx) в электронное письмо.Вставить документы, используя LinkedResources для MailMessage

Я пробовал гиперссылку со ссылкой на href = "cdi: myDoc.pdf", но это не работает. Я также попытался использовать MailMessage.Attachments.Add(), но добавляет документы в разделе вложений, а не встраивает документ в сообщение.

Кто-нибудь, как вставить документ в почтовое сообщение? Я знаю, что Outlook способен размещать вложения в теле сообщения, но я не могу понять, как это сделать через mailMessage.

Благодаря Susan

Sub MultiPartMime() 
Dim mail As New MailMessage() 

mail.From = New MailAddress("[email protected]") 
mail.To.Add("[email protected]") 

mail.Subject = "This is an email" 

Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString("<b>this is bold text, and viewable by <img src=""cdi:companylogo""> those mail clients that support html</b>", Nothing, "text/html") 

LinkedResource logo = new LinkedResource("c:\temp\logo.gif") 
logo.ContentId = "companylogo" 
htmlView.LinkedResources.Add(logo) 


mail.AlternateViews.Add(htmlView) 


'send the message 
Dim smtp As New SmtpClient("127.0.0.1") 'specify the mail server address 
smtp.Send(mail) 
End Sub 'MultiPartMime 

ответ

2

Попробуйте использовать cid: вместо cdi:. Это одна ошибка, которая приходит на ум.

1

пытаются использовать

href="cid:companylogo 

(с «ИДС» вместо «КДИ» Как Якоб Mygind предложил) и установить его на ContentID, который вы указали для LinkedResource.

Также при установке пути к файлу, хорошо использовать метод HostingEnvironment.MapPath() (который так же из Url.Content() веб-проектов было бы идти с чем-то что-то вроде:.

LinkedResource logo = new LinkedResource(HostingEnvironment.MapPath("c:\temp\logo.gif")); 

Надеется, что это помогает

;)

 Смежные вопросы

  • Нет связанных вопросов^_^