Как я могу отправить встроенное изображение по электронной почте, имея строку в качестве изображения?
Я могу отправить изображение по электронной почте, сохраненное в папке изображений моего веб-приложения , но мой вопрос заключается в том, что у меня есть изображение в базе данных в строковом формате, как я могу отправить его по электронной почте?
Для отправки изображения в папку я использую следующий код:
LinkedResource logo = new LinkedResource(System.AppDomain.CurrentDomain.BaseDirectory + @"Images/logo.jpg"); logo.ContentId = "logo"; AlternateView av1 = AlternateView.CreateAlternateViewFromString("" + htmlTemplate, null, MediaTypeNames.Text.Html); av1.LinkedResources.Add(logo); message.AlternateViews.Add(av1);
Как отправить, если у меня есть изображение в строковом формате?
Что я уже пробовал:
я попытался заменить < img src=[abc]> любить,
htmlTemplate=htmlTemplate.Replace("[abc]", @"data:image/gif;base64," + software.SoftwareImage); // does not worked
также пробовать
LinkedResource(@"data:image/gif;base64," + software.SoftwareImag); //does not worked
Jochen Arndt
Похоже, что ваше изображение уже закодировано в base64. Затем просто получите его в виде строки из базы данных в локальную переменную.
Затем вы должны создать составную почту, где вы можете добавить изображение в качестве одной из частей, указав кодировку base64 и идентификатор содержимого. Этот идентификатор содержимого должен использоваться как < img src=cid:[the_id]>.