在grails-mail插件中,您需要在服务中定义内联图像数据,假设您使用的是来自服务的Grails邮件。
你在service.groovy
中这样做inline 'header', 'image/jpg', new File('./web-app/images/mailAssets/alert_header_pre.png')
在服务定义中,让我们说:
def mailService
def contactUser(userName, email) {
mailService.sendMail {
multipart true
to email
from "marc.heidemann@live.de"
subject "Hello from grails-mail"
text "Hallo from grails-mail multipart text modus"
html view:"/alert/test", model:[name:userName]
inline 'header', 'image/jpg', new File('./web-app/images/mailAssets/alert_header_pre.png')
inline 'footer', 'image/jpg', new File('./web-app/images/mailAssets/suchebottomre.gif')
}
}
目前,该应用正在呈现页脚和标题图片,确定。
好吧,现在这个项目规划者的计划是在他们的电子邮件中呈现来自数据库(大约15.000个用户)的个人资料图片 - 如果不知道如何在不声明service.groovy中的每个用户的个人资料图片的情况下如何实现?此外,这些图片存储在我的应用程序的亚马逊s3之外。这可能是邮件插件的边界还是可以使这个工作?如果不可能,那么你会为那些策划和创意人提供什么选择呢?欢迎任何意见。答案 0 :(得分:2)
这样您就不必在服务中声明它。您可以从S3下载图片以将其用作内嵌图片,或者您可以使用S3提供的网址。
要访问内联使用的文件:
def file = aws.s3().on(bucket).get(name, path)
获取公共网址:
def url = aws.s3().on(bucket).url(name, path)