Email 在从服务grails调用的模板中获取当前域
我使用grails邮件插件发送邮件,我必须从该服务发送一封电子邮件,我使用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') } 所以现在一切都很好,我的方法是发送
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生产运行应用程序
应该可以做到这一点