Я столкнулся с проблемой при внедрении изображения с использованием CID (Content-ID) в электронное письмо в формате HTML, отправленное через Mailjet. Несмотря на правильную настройку, изображение не отображается, а вместо него отображается замещающий текст.
Вот упрощенная версия моего кода (без конфиденциальной информации):
Код: Выделить всё
using Mailjet.Client.Resources;
using Mailjet.Client.TransactionalEmails;
using Mailjet.Client;
using System;
using System.Linq;
using System.Threading.Tasks;
namespace TestSendEmailWithEmbeddedImage
{
internal class Program
{
static string API_KEY = @"API_KEY_REDACTED";
static string SecretKey = @"SECRET_KEY_REDACTED";
static async Task Main(string[] args)
{
var senderEmail = "SENDER_EMAIL_REDACTED";
var destEmail = "DEST_EMAIL_REDACTED";
var senderName = "support";
MailjetClient _client = new MailjetClient(API_KEY, SecretKey);
var imageBase64 = "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAEklEQVR4nGP8z4APMOGVHbHSAEEsAROxCnMTAAAAAElFTkSuQmCC";
var contentId = "ABCD"; // Unique identifier for the image
var imageName = "image.png"; // Name of the image
var body = $@"
Voici une image :
[img]cid:ABCD[/img]
--=-+zpCN5rjhXag2yK+qwRs
Content-Type: image/png; charset=utf-8; name=image.png
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename=image.png
Content-Id:
iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAEklEQVR4nGP8z4APMOGVHbHSAEEs
AROxCnMTAAAAAElFTkSuQmCC
--=-+zpCN5rjhXag2yK+qwRs--

Обратите внимание, что изображение в виде красного квадрата отображается только как вложенный файл (image.png)
Я проверил формат CID, убедился, что он совпадает в HTML и вложении, но изображение по-прежнему не отображается. Я подозреваю, что я что-то упускаю или имею конкретную проблему с тем, как Mailjet обрабатывает встроенные изображения.
Я ценю любые идеи и предложения по решению этой проблемы. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/787 ... th-mailjet