In theory, you can convert the image to a MemoryStream, and then add the stream as an attachment. It will look like this:
public static Stream ToStream(this Image image, ImageFormat formaw) { var stream = new System.IO.MemoryStream(); image.Save(stream, formaw); stream.Position = 0; return stream; }
Then you can use the following
var stream = myImage.ToStream(ImageFormat.Gif);
Now that you have the stream, you can add it as an attachment:
mail.Attachments.Add(new Attachment(stream, "myImage.gif", "image/gif" ));
Literature:
System.Drawing.Image for C # thread
C # email object for streaming to application
source share