2015-11-16 2 views
2

Я использую Mandrill в Nodejs для отправки писем клиентам и хочу встроить изображение в свой html-контент, прикрепленный к письмам. Я нашел некоторые решения от https://mandrill.zendesk.com/hc/en-us/articles/205582457-Tips-for-using-images-in-Mandrill-emails и решил использовать 4-й, который включает изображение, встроенное в html. Код, как показано ниже:Mandrill embed image не может правильно интерпретироваться

var message = { 
    html: htmlContent, 
    subject: "Subject", 
    ... 
    images = [{ 
    "type": logo.logoType, // which is "image/jpeg" 
    "name": "logo", 
    "content": content // the content is valid when using in <img src="data:image/jpeg;base64,content"> directly 
    }] 
}; 
mandrillClient.messages.send({ 
    message: message 
}, function() { 
    callback(null); 
}, function(err) { 
    callback(err); 
}) 

и соответствующий HTML-код в htmlContent является

<img src="cid:logo"> 

Однако, когда я проверил с отправленного письма в Mandrill Outbound деятельности «Просмотр содержимого» Безразлично» t правильно покажите изображение. И я посмотрел на источник HTML, найденный код изображения был еще как

<img src="cid:logo"> 

Простой текст не заменяются на данные изображения.

Как я могу заставить его работать правильно? Есть идеи?

Заранее спасибо.

ответ

1

Наконец-то я обнаружил, что он просто не работает при проверке отправленного сообщения в Mandrill Outbound Activity, но он отлично работает в вашем фактическом почтовом ящике. Таким образом, это означает, что вы никогда не увидите встроенное изображение при тестировании, вы должны отправить его с помощью производственного ключа api и посмотреть результаты в реальном почтовом ящике электронной почты.

Just FYI. Надеюсь, никто не будет тратить время на это, как я. :)

+0

Здравствуйте, Junlynn, упомянув только имя изображения с cid в html-контенте, например '' и кодировку имени base64 в формате base64, как он узнает, где находится изображение. Должен ли мы кодировать полный URL-адрес в качестве base64 ..? –

+0

вам необходимо предоставить содержимое изображения в поле «контент» каждого объекта изображения. поэтому ему не нужно знать, где он находится. – Junlynn