我使用Grails mail plugin发送电子邮件,我想在电子邮件正文中发送图片,而不是附件。我想要的是将图像显示在电子邮件正文中,就像在简报中一样。我试过了:
img style="display:block; height:100px; width:100; " alt="candle"
src="http://www.xyz.com//Candle_4.jpg">
但它按原样显示。
我也尝试过使用维基媒体格式:
[[:File:Example.jpg]]<br/>
[[Special:FilePath/Example.jpg]]
但同样,两者似乎都链接到外部。
我做错了什么?
这是我正在使用的电子邮件模板:
<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!
但是,如果我想在我的模板中放入10张图片,我该怎么做?
答案 0 :(得分:13)
你必须做三件事
根据this邮件列表主题,它应该像这样工作:
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" />
希望有所帮助。
答案 1 :(得分:0)
通常,大多数“简报”类型的电子邮件只是HTML电子邮件,不会在电子邮件正文中内嵌图像。实际上,许多电子邮件服务器将直接拒绝过大的电子邮件,将图像数据放入电子邮件正文中可以轻松承担此风险。
相反,解决这个问题的方法就是将HTML电子邮件与您希望包含的图像作为普通的HTML图像链接。
有关如何发送HTML电子邮件的详细信息,请参阅Mail plugin documentation。
答案 2 :(得分:0)
抱歉,我没有足够的Stackoverflow积分来对其他人发表评论&#39;答案。
在@aiolos的回答中,它包含:
inline 'springsourceInlineImage', 'image/jpg', new File('./web-app/images/springsource.png')
这指定了&#39; image / jpg&#39;作为输出,但文件是png格式。这是故意的吗?
维基百科提供了一个mime类型列表:http://en.wikipedia.org/wiki/Internet_media_type#Type_image
我试过&#39; image / png&#39;并且它有效,所以我不确定是否将它设置为&#39; image / jpg&#39;有所作为。