Mailkit use of resource image with LinkedResources.Add

Viewed 157

Trying to use a resource image:

    var builder = new BodyBuilder();

    var image = 
    builder.LinkedResources.Add("pack://application:,,,/Resources/LOGO_275.png");
    image.ContentId = MimeUtils.GenerateMessageId();

but needs a string (filename:)

How can i use a resource image ?

Kind Regards

Johan

2 Answers
var builder = new BodyBuilder();

using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("LOGO_275.png")) {
    var image = builder.LinkedResources.Add("LOGO_275.png", stream);
    image.ContentId = MimeUtils.GenerateMessageId();
}

The Add() methods that take a string filename and a Stream only use the filename string to figure out the MIME-Type and set the filename property of the attachment.

I had to use NameSpace.Resources.Resource.ext otherwise GetManifestResourceStream() returned null

using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("WPF_Bestelbons.Resources.LOGO_275.png"))
Related