NET代码中删除图像附件

NET代码中删除图像附件

本文介绍了如何在下面的VB .NET代码中删除图像附件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我搜索过网页,发送包含邮件正文中嵌入图片的邮件。

我找到了下面的代码,我已经整合了我的窗体应用程序在vb .net中,它与我的应用程序运行良好。



但问题是附加图像并且它在身体中显示为嵌入图像。



我不希望图像显示为附件。



任何人都可以帮助我修改下面的代码。



我尝试过:



Hi,
I have searched web for sending the mail with image embedded in the mail body.
I found the below code and i have integrated with my windows forms application in vb .net and it is working well with my application.

But the problem is it is attaching the image and it is displaying as embedded image in the body.

I don't want the image to be displayed as attachment.

can anyone help me to modify the below code.

What I have tried:

Public Sub SendEmail()

        'CREATE MAIL MESSAGE
        Using myMailMessage As New MailMessage

            myMailMessage.To.Add("[email protected]")
            myMailMessage.From = New MailAddress("[email protected]")
            myMailMessage.Subject = "This is the email subject"
            myMailMessage.Body = "This is the default text body"
            myMailMessage.IsBodyHtml = True 'THIS WILL MAKE THE MESSAGE USE THE ALT HTML VIEW

            'CREATE ALT HTML BODY THAT WILL INCLUDE EMBEDDED IMAGE
            'NOTE THE IMG SRC IS CID:ThePictureID
            Dim myMailHTMLBody = "<html><head></head><body>This is a test and should include a picture: <img src=cid:ThePictureID></body></html>"

            'BYTES ARRAY OF IMAGE SO WE CAN PUT IN MEMORY STREAM
            Dim myImageData() As Byte = Nothing

            'GRAB IMAGE FROM FILE AND PUT IN MEMORY STREAM
            Using myImage = Image.FromFile("C:\directory\image.jpg")
                Dim IC As New ImageConverter
                myImageData = DirectCast(IC.ConvertTo(myImage, GetType(Byte())), Byte())
            End Using

            Using myStream As New MemoryStream(myImageData)
                'CREATE ALT VIEW
                Dim myAltView As AlternateView = AlternateView.CreateAlternateViewFromString(myMailHTMLBody, New System.Net.Mime.ContentType("text/html"))
                'CREATE LINKED RESOURCE FOR ALT VIEW
                Dim myLinkedResouce = New LinkedResource(myStream, "image/jpeg")
                'SET CONTENTID SO HTML CAN REFERENCE CORRECTLY
                myLinkedResouce.ContentId = "ThePictureID" 'this must match in the HTML of the message body

                'ADD LINKED RESOURCE TO ALT VIEW, AND ADD ALT VIEW TO MESSAGE
                myAltView.LinkedResources.Add(myLinkedResouce)
                myMailMessage.AlternateViews.Add(myAltView)

                'SEND EMAIL
                Using mySMTP As New SmtpClient
                    mySMTP.Host = "smtp.yourdomain.com"
                    mySMTP.Credentials = New System.Net.NetworkCredential("[email protected]", "password")
                    mySMTP.Send(myMailMessage)
                End Using

            End Using
        End Using
    End Sub

推荐答案

<img src=cid:ThePictureID>


这篇关于如何在下面的VB .NET代码中删除图像附件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 00:47