Email 在从服务grails调用的模板中获取当前域

Email 在从服务grails调用的模板中获取当前域,email,grails,service,path,Email,Grails,Service,Path,我使用grails邮件插件发送邮件,我必须从该服务发送一封电子邮件,我使用grails邮件插件: 所以我有这个代码: mailService.sendMail { async true to 'hello@world.fr' from 'world@hello.fr' subject subj body (view:'/mail/_mailTemplate') } 所以现在一切都很好,我的方法是发送

我使用grails邮件插件发送邮件,我必须从该服务发送一封电子邮件,我使用grails邮件插件:

所以我有这个代码:

    mailService.sendMail {
        async true
        to 'hello@world.fr'
        from 'world@hello.fr'
        subject subj
        body (view:'/mail/_mailTemplate')
    }
所以现在一切都很好,我的方法是发送电子邮件

在我的邮件模板中,我必须显示pippo.png图像,我是这样做的

在生成的html中,作为该图像的结果,我得到的链接是:

http://localhost/images/mailImage/pippo.png
通过此链接,邮件客户端显然永远也找不到图像

但当我从控制器渲染相同的模板时,我得到:

http://www.mycorrectdomain/images/mailImage/pippo.png

那么,即使在从服务中呈现模板时,如何获取当前域呢?

资源标签的grails文档中,它说:

绝对(可选)-如果为true,则将使用Config.groovy中的grails.serverURL属性值作为链接目标地址的前缀,如果Config.groovy中没有设置且未在生产环境中运行,则为localhost

所以,我猜您看到localhost的原因是因为您没有在
Config.groovy
中配置URL,或者您没有在生产模型中运行

要更改默认URL,请在
Config.groovy
中:

grails.serverURL = "http://www.thecorrectwebsite.com"
要在生产模式下运行:
grails生产运行应用程序
应该可以做到这一点