0

次のコードを使用して、画像を MailMessage に埋め込みます。私がやろうとしているのは、文書 (pdf または docx) を電子メールに埋め込むことです。

href="cdi:myDoc.pdf" へのリンクでハイパーリンクを試みましたが、うまくいきません。MailMessage.Attachments.Add() も使用してみましたが、ドキュメントをメッセージに埋め込むのではなく、添付ファイル セクションにドキュメントを追加します。

メールメッセージにドキュメントを埋め込む方法はありますか? Outlook がメッセージの本文に添付ファイルを配置できることは知っていますが、mailMessage を介してそれを行う方法がわかりません。

ありがとうスーザン

Sub MultiPartMime()
Dim mail As New MailMessage()

mail.From = New MailAddress("me@mycompany.com")
mail.To.Add("you@yourcompany.com")

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
4

2 に答える 2

2

cid:の代わりに使ってみてくださいcdi:。それは頭に浮かぶ1つのエラーです。

于 2012-02-20T13:46:59.570 に答える
1

使ってみてください

href="cid:companylogo 

(「cdi」の代わりに「cid」を使用して、Jakob Mygind が提案したように)、LinkedResource に指定した contentId に設定します。

また、ファイルへのパスを設定するときは、HostingEnvironment.MapPath() メソッド (Web プロジェクトの Url.Content() と同じ) を使用することをお勧めします。次のようなものになります。

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

それが役に立てば幸い!

;)

于 2013-02-05T13:12:33.230 に答える