Email grails mail:在电子邮件中从数据库渲染配置文件图片

Email grails mail:在电子邮件中从数据库渲染配置文件图片,email,grails,groovy,amazon-s3,imagesource,Email,Grails,Groovy,Amazon S3,Imagesource,在GrailsMail插件中,假设您使用的是来自服务的GrailsMail,您需要在服务中定义内联图像数据 在您的服务中这样做。groovy inline 'header', 'image/jpg', new File('./web-app/images/mailAssets/alert_header_pre.png') 在您的服务定义中,可以这样说: def mailService def contactUser(userName, email) { mailService.send

在GrailsMail插件中,假设您使用的是来自服务的GrailsMail,您需要在服务中定义内联图像数据

在您的服务中这样做。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')
    }
}
现在,应用程序正在呈现页脚和页眉图像,Ok

好的,现在这个项目的规划者的计划是在他们的电子邮件中呈现来自数据库(大约15000个用户)的配置文件图片-如果可以,那么如何在不在服务中声明每个用户的配置文件图片的情况下实现这一点。groovy?此外,这些图片存储在我的应用程序之外的AmazonS3上。这可能是邮件插件的一个边界,或者有可能让它工作吗?如果不可能的话,你会为那些有计划和创意的人提供什么替代方案?欢迎提出任何意见

  • 通过用户进行循环
  • 使用从S3获取相应的图片
  • 将图片插入电子邮件
  • 使用邮件插件发送邮件
  • 这样,您就不必在服务中声明它。您可以从S3下载图片作为内联图片使用,也可以使用S3提供的url

    要访问文件以供内联使用,请执行以下操作:

    def file = aws.s3().on(bucket).get(name, path)
    
    要获取公共url,请执行以下操作:

    def url = aws.s3().on(bucket).url(name, path)