Вопрос по image, grails, email – Отправить изображение по электронной почте с Grails

4

Я использую Граальпочтовый плагин отправлять электронные письма, и я хочу отправлять изображения в теле письма, а не в качестве вложения. Я хочу, чтобы изображения отображались в самом теле письма, как в новостных рассылках. Я старался:

<code>img style="display:block; height:100px; width:100; " alt="candle"
src="http://www.xyz.com//Candle_4.jpg">
</code>

но он отображается как есть.

Я также попытался использовать формат Викимедиа:

<code>[[:File:Example.jpg]]<br/>
[[Special:FilePath/Example.jpg]]
</code>

но опять-таки оба, похоже, ссылаются на внешние.

What am I doing wrong?

Это шаблон электронной почты, который я использую:

<code><img src="cid:springsourceInlineImage" /> Dear [username],<br/>
Thank you for shopping with us.<br/>
You have placed a new order with following details.<br/>
[details]<br/>
Happy shopping!
</code>

Но если я хочу добавить 10 изображений в свой шаблон, как бы я это сделал?

Ваш Ответ

3   ответа
0

у меня недостаточно очков Stackoverflow, чтобы оставлять комментарии другим ". ответы.

В ответе @aiolos он содержит:

inline 'springsourceInlineImage', 'image/jpg', new File('./web-app/images/springsource.png')

Это указывает на «изображение / JPG»; в качестве вывода, но файл в формате PNG. Это намеренно?

Википедия предоставляет список типов пантомимы:http://en.wikipedia.org/wiki/Internet_media_type#Type_image

Я пробовал & image; png & ap; и это сработало, поэтому я не уверен, установил ли он значение 'image / jpg & apos; имеет значение.

13

Declare mail as multipart Attach your image as inline image Reference you inline image from your mail template

В соответствии сэтот поток рассылки должен работать так:

sendMail{
    multipart true
    to "[hidden email]"
    subject "Subject goes here"
    html  g.render( template: '/emails/mailTemplate')
    inline 'springsourceInlineImage', 'image/jpg', new File('./web-app/images/springsource.png')
}

В вашем шаблоне вы можете сослаться на изображение, как это

<img src="cid:springsourceInlineImage" />

Надеюсь, это поможет.

Извините за поздний ответ, фактически теперь изображение находится в моем почтовом ящике, но в качестве вложения с «noname», причем строка «& lt; img src =» cid: springsourceInlineImage & quot; / & GT; & Quot; все еще отображается как есть в шаблоне как есть. zade
Не могли бы вы опубликовать свой почтовый шаблон?
Что такое CID? это нужно установить? потому что теперь код ** & lt; html xmlns = & quot;w3.org/1999/xhtml& Quot; & GT; & lt; img src = & quot; cid: springsourceInlineImage & quot; / & GT; ** появляется в электронном письме. то есть. до сих пор не отображается .. zade
Да. Вы можете использовать любое имя.
cid Схема расшифровывается какcontent-ID и используется для идентификации определенной части вашей составной почты. Желаемое изображение прикреплено к почте? Если представленный код представляет собой весь HTML-источник вашей почты, похоже, у вас нет полного почтового шаблона.
0

большинство «новостных рассылок» электронные письма - это всего лишь электронные письма в формате HTML, и они не размещают изображения в теле писем. На самом деле, многие почтовые серверы будут напрямуюreject слишком большие электронные письма, помещающие данные изображения в тело письма, могут легко подвергнуться этому риску.

Вместо этого, способ сделать это состоит в том, чтобы просто иметь электронные письма HTML с изображениями, которые вы хотите включить в качестве обычных ссылок на изображения HTML.

Пожалуйста, обратитесь кДокументация почтового плагина для получения дополнительной информации о том, как отправлять электронные письма в формате HTML.

Похожие вопросы